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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 栗海云 中级黑马   /  2016-5-11 17:23  /  1221 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入英文语句,单词首字符转换大写后输出。

1 个回复

倒序浏览
/**
*  从控制台输入一段英文,然后把这段字符每个单词的首字母大写

思路 :
1. 第一个字符是小写字母, 改成大写

2. 前一个字符是空格,并且是小写字母 搞成大写
*/
int main(int argc, const char * argv[]) {
   
    // 声明字符数组
    char str[1000];
   
    printf("请输入一段英文\n");
   
    // 接受输入文本
    fgets(str, 1000, stdin);
   
    // 计算长度
    size_t len = strlen(str);
   
    // 判断第一个字符
    if (str[0] >= 'a' && str[0] <= 'z') {
         str[0] -= 32;
    }
   
    // 遍历判断
    for (int i = 1; i < len; i++) {
        // 条件成立,转换字符
        if ((str[i - 1]) == ' ' && (str[i] >= 'a' && (str[i] <= 'z'))) {
                 
                 str[i] -= 32;
            
        }
    }
   
    printf("%s\n",str);
   
    return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马