A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


//输入一行字符,统计其中有多少个单词,并将每个单词的首字母大写
#include <stdio.h>
int main()
{
    char string[81];
    int i, num = 0,word = 0;
    char a;
    gets(string);
   
    for (i = 0;(a = string[i])!='\0';i++)
    {
        if (a == ' ') {
            word = 0;
        }else if(word == 0)
        {
            word = 1;
            num++;
        }
        
    }

    for (i=0; i < 81; i++) {

        //判断字符串范围
        if('a' <= string[i] && string[i] <= 'z')
        {  //将首字母转为大写
            if(i == 0)
            {
                string[i] = (string[i] - 'a' + 'A');
            }
            // 将所有单词首字母转为大写
            else if (string[i-1] == ' ')
            {
                string[i] = (string[i] - 'a' + 'A');
            }
        }
    }
   
    printf("%s\n",string);
   
    printf("有%d个单词\n",num);
    return 0;
}
这题勉强可以实现功能,总感觉还有好些漏洞,请高人指点指点!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马