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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

楼主 我觉得我写的比你写的略好,理由如下:
请指正
  1. /**
  2. *7.输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)
  3. */

  4. #include <stdio.h>

  5. int main(int argc, const char * argv[])
  6. {
  7.     //1.提示用户输入一个英文句子
  8.     printf("请输入一个英文句子,回车确定\n");
  9.    
  10.     //2.新建一个大小为100的字符串用于存储用户输入的英文句子
  11.     char sentence[100];
  12.    
  13.     //3.系统输入赋值给sentence字符串变量 这里scanf函数第一个参数为"%[^\n]",表示接受空格作为输入,不然默认空格是输入结束符
  14.     scanf( "%[^\n]", sentence);
  15.    
  16.     //4.新建length变量用于存贮字符串的长度
  17.     unsigned long length = strlen(sentence);
  18.    
  19.     //5.因为第一个字母通常就是第一个单词的首字母 所以直接变大写字母,就算是空格,使用toupper函数不变
  20.     sentence[0] = toupper(sentence[0]);
  21.    
  22.     //6.循环遍历字符串数组 如果遇到一个空格和空格后面是一个字符的情况 就调用toupper函数对空格后面的字符做大写处理
  23.     for(int i = 1;i < length-1;i++)
  24.     {
  25.         //6.1当前遍历元素是空格
  26.         if(0x20== sentence[i])
  27.         {
  28.             //6.2后面那个字符还是空格吗?
  29.             if(0x20 != sentence[i+1])
  30.             {
  31.                 //6.3是,则大写处理
  32.                 sentence[i+1] = toupper(sentence[i+1]);
  33.             }
  34.         }
  35.     }
  36.    
  37.     //7.输出转换好的英文句子给用户
  38.     printf("转换后的句子为\n");
  39.     printf("%s\n",sentence);
  40.    
  41.     return 0;
  42. }
复制代码
回复 使用道具 举报
麻木 发表于 2015-4-23 12:41
楼主 我觉得我写的比你写的略好,理由如下:
请指正

比我写的好的太多了,scanf函数如何接收空格这个我不知道,toupper函数也没见过!我的就像是白话文,你的就是高大上的文言文!学习了,非常感谢!刚刚学习C语言,好多好多方面都是要学习的,根据基础视频勉强能敲出点简单地代码!还是要继续学习的。非常感谢!
回复 使用道具 举报
麻木 发表于 2015-4-23 12:41
楼主 我觉得我写的比你写的略好,理由如下:
请指正

我还想知道下,就是这种代码怎么弄下来的?我只会粘贴复制下来!

点评

非常感谢  发表于 2015-4-23 21:42
懂你意思了 你发帖子的时候 要点一下上面有一个代码按钮 点了后 会弹出一个对话框 你就可以把代码贴进去 这样好看。  发表于 2015-4-23 17:22
啥叫怎么弄下来 在Xcode里面敲啊  发表于 2015-4-23 17:20
回复 使用道具 举报
其实用scanf也是可以读取输入的空格哦, 试试 scanf("%[^\n]")
回复 使用道具 举报
scanf("%[^\n]")里面 ^表示非,所以这句意思是读取用户输入的所有非换行字符,当然也就包括空格啦
回复 使用道具 举报
不错不错,楼主提的很好 用gets
回复 使用道具 举报
ruihai 发表于 2015-4-23 16:52
scanf("%[^\n]")里面 ^表示非,所以这句意思是读取用户输入的所有非换行字符,当然也就包括空格啦 ...

恩。非常感谢,学习了!
回复 使用道具 举报
wxy19891017 发表于 2015-4-23 08:58
我也是小白,知识看过了,好多题目一眼看上去没什么思路,百度下看下人家写的,大部分又能看懂。这可能就 ...

确实,而且基础要弄好
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马