①目标
把一句英文句子中的每一个单词的首字母改成大写。
~
②命令行
#includestdio.h
#includestdlib.h
#includectype.h字符函数库
#includestring.h字符串函数库
~
③定义函数
voidupfst(char*p)
/*upfst是upperfirst的缩写,即首字母变大写。*/
{intk=0;
for(;*p;p++)
/*p++用于遍历单词和句子。*/
if(k)
/*k的初始值为0,即if(k)为假,执行后面else语句。*/
{if(*p==")k=0;}
/*由else语句返回,k=1,if(k)为真,执行此词语。
如果在单词中部,遇到字母,if(*p==")为假,又返回p++向后遍历,直到遇到空值。
如果遇到字母是空值,就把k标志为0,表示没有找到首字母。*/
else
{if(*p!="){k=1;*p=toupper(*p);}}
/*如果遇到首字母不是空值,就将其变成大写。同时标志值k=1,表示找到了首字母。*/
}
~
④主函数(调用)
voidmian()
{charchrstr[80];
/*chrstr是charstring的缩写,即字符串。此处用字符串数组表示英语句子。*/
printf("\nPleaseenteranEnglishtextline:");
gets(chrstr);
printf("\nBoforechanging:%s",chrstr);
upfst(chrstr);
/*将字符串数组chrstr[]的首字母变成大写。*/
printf("\nAfterchanging:%s",chrstr);
}