//输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)
#include<stdio.h>
int main()
{
int i,zimu;
char a[100];
printf("Please enter a sentence:");//定义一句话放在同一个数组里包括空格和字母
scanf("%s",a);
zimu=a[0]-32;//先对首写字母进行大写,因为ASCII代码与整形数据可以相加
printf("%c",zimu);
for(i=1;i<100;i++)
{
if(a[i]==' ')//碰见空格,下个字母大写
{
zimu=a[i+1]-32;
printf("%c",zimu);
}
if(a[i]=='\0')//如果有结束标识符跳出循环
{
break;
}
if(a[i]!='\0'&&a[i]!=' ')//如果不是上边两种,直接输出该位置的字母
{
printf("%c",a[i]);
}
}
}
只能输出第一个单词,为什么啊!!!头疼。 |
|