6-3 每个单词的首字母改为大写 (10 分)

本题要求实现一个函数,将p所指字符串中每个单词的首字母字母改成大写,大写字母及非字母不变化。(这里的“单词”是指由一个或者多个空格隔开的字符串)。

函数接口定义:

void Conv( char *p );

其中 p 是用户传入的参数,函数将 p 所指字符串中每个单词的首字母改成大写。

裁判测试程序样例:

#include 
void Conv( char *p );
int main()
{
        char str[64];  
        
        gets(str);
        Conv(str);
        printf("After changing:   %s", str);
        return 0;
}


/* 请在这里填写答案 */

输入样例1:

i am a student.

输出样例1:

After changing:   I Am A Student.

输入样例2:

There are 45 students in my class.

输出样例2:

After changing:   There Are 45 Students In My Class.
void Conv( char *p ){
    int flag=1;
    while(*p!='\0'){ 
        if(*p>='a'&&*p<='z'&&flag==1){
            //当时忘记大小字母的转换
            *p=*p-'a'+'A';
            flag=0;
        }
        if(*p==' '){
            flag=1;
        }
        p++;
    }
    return p;
}

 

你可能感兴趣的:(C语言编程,c语言)