本帖最后由 流风124 于 2015-4-4 21:10 编辑
我也有这道题,用gets()函数我的代码
#include <stdio.h> #include <stdlib.h> #define M 200 //转成大写函数的声明 void Upper(char *in);
int main(int argc, const char * argv[]) { printf("第8题开始:\n"); char input[M] = {'\0'}; printf("请输入英文句子:\n"); //gets()函数会报warning,但是这里要接收空格,所以还是使用了 gets(input); //调用函数找到单词的首字符,并且将其转换成大写 Upper(input); printf("第8题结束\n"); return 0; }
//函数:首字符转换成大写 void Upper(char in[]) { //判定是否是单词首字母的标志 int flag = 1; int i = 0; while (in) { //当遇到空格和Tab键时,下1个字母即为首字母 if (in == ' ' || in == '\t') { flag = 1; }else if (flag == 1) { //将首字母的小写转换成大写 if (in >= 'a' && in <= 'z') { in = in - ('a' - 'A'); } flag = 0; } i++; } printf("%s\n",in); } |