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


/*
输入一英文句子,将其中所有单词首字符转换成大写后输出  jack l
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()

{    //定义一个变量来接收输入的英文句子,应该是字符数组,假定长度为100
        char a[100];
        //提示用户输入一个英文句子
        printf("请输入一个英文句子\n");
        gets(a);
        //先判断首字符,看用户输入的是大写还是小写,如果是小写则改为大写,反之不变。
        if (a[0] >= 97 && a[0] <= 122) a[0] = a[0] - 32;
        //从第二个字符开始寻找空格,遇到空格,则把空格后面的字符改为大写,当然如果空格后面的字符本身就是大写则不管
        int  i = 1;
        for (i = 1; i < strlen(a); i++)
        {

                if (a[i] == ' '&&a[i + 1] >= 97 && a[i + 1] <= 122)
                {
                        a[i + 1] = a[i + 1] - 32;
                }

        }

        //输出改好之后的英文句子,也就是字符串数组
        printf(a);
        printf("\n");

        return 0;

}

关于输入英文句子的长度问题有没有办法解决,因为长度是不确定的。
您需要登录后才可以回帖 登录 | 加入黑马