本帖最后由 caopengxu 于 2014-7-17 11:33 编辑
- /*
- 8、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)
-
- 解题思路:通过句子中的空格,找到单词的首字符,然后判断首字符是不是
- 在a~z的范围内,如果在,通过ASCII码值减32的方法转换成大写。
- */
- #include<stdio.h>
- int main()
- {
- int i;
- char a[100]; //用来存放输入的字符串
- printf("请输入一个英文句子:\n");
- gets(a); //从键盘端输入字符串
-
- //首先判断句子第一个单词首字符是不是大写
- if(a[0] >= 'a' && a[0] <= 'z')
- a[0] -= 32;
-
- for(i = 0;a[i] != '\0';i++) //当等于'\0'时退出循环
- {
- if(a[i] == ' ') //判断是否等于空格
- {
- //如果在a~z的范围内,转换成大写
- if(a[i + 1] >= 'a' && a[i + 1] <= 'z')
- a[i + 1] -= 32;
- }
- }
- printf("转换后:%s\n",a);
- return 0;
- }
复制代码 问题:提示gets()不安全。 |
|