//输入一行字符,统计其中有多少个单词,并将每个单词的首字母大写
#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;
}
这题勉强可以实现功能,总感觉还有好些漏洞,请高人指点指点! |
|