C语言-首字母大写


①目标

把一句英文句子中的每一个单词的首字母改成大写。


②命令行

#include< stdio.h>

#include< stdlib.h>

#include< ctype.h>字符函数库

#include< string.h>字符串函数库

~

③定义函数

void upfst(char *p)

/*upfst是upper first的缩写,即首字母变大写。*/

{int k=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,表示找到了首字母。*/

}

~

④主函数(调用)

void mian()

{char chrstr[80];

/*chrstr是char string的缩写,即字符串。此处用字符串数组表示英语句子。*/

printf("\nPlease enter an English text line:");

gets(chrstr);

printf("\n Bofore changing: %s ",chrstr);

upfst(chrstr);

/*将字符串数组chrstr [ ]的首字母变成大写。*/

printf("\nAfter changing:%s",chrstr);

}

你可能感兴趣的:(C语言-首字母大写)