A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

/*
8、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)

1.定义字符串数组 用gets函数获取字符串
2.遍历字符串 非空格和\0的字符串组成单词
3.判断单词首字母是ascii码值在97和122区间点小写字母就减32变大写
4.用puts函数输出字符串

*/

#include <stdio.h>
#include <string.h>
#define L 1000

int main(int argc, const char * argv[]){
   
    char str[L];
   
    printf("输入一英文句子,回车结束:(友情提醒:输入\\0会影响转换!)\n");
    gets(str);//获得输入字符串
   
    for (int i = 0; i < strlen(str); i++) {
        
        int count = 0; // 单词长度计数器
        while (str[i] != ' ' && str[i]) { // 字符不是空格也不是\0
            i++;
            count++;
        }
        printf("%c",str[i-count]);
        if (str[i- count] >= 97 && str[i- count] <= 122) { // 判断是小写字母则转换成大写
            str[i- count] = str[i- count]-32;
        }
    }
    printf("转换后的英文句子是:");
    puts(str);
   
    printf("The end\n");
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马