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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

思路:                           
                 ①输入
                 ②接收字符串并保存到数组中
                 ③循环取出每一个字符  遇到'\0'循环结束
                 ④判断是否为单词
                 ⑤当前循环的字符是空格,则下次循环一定是个单词
              代码实现:
                  void main(){
                        char str[1000];
                        int words=0;//这是一个标记,标记是否为空格
                        int count=0;//统计单词的个数
                        printf("请输入一个字符串:\n");
                        gets(str);
                        for(int i=0;str[i]!='\0';i++){
                                if(str[i]==' '){
                                        words=0;//标记为0表示这是一个单词
                                }else if(words==0){
                                        count++;
                                        str[i]=str[i]-32;//通过-32将其变成大写
                                        words=1;
                                }
                        }
                        puts(str);
                        printf("字符串的个数是:%d,字符串:%s\n",count,str);
                  }

9 个回复

倒序浏览
kalon 来自手机 中级黑马 2015-6-20 03:57:10
沙发
学习了!
回复 使用道具 举报

共同进步
回复 使用道具 举报
我还没做,不会做的话就来看你的
回复 使用道具 举报
楼主的方法很好 学习了
回复 使用道具 举报
张国繁 发表于 2015-6-20 10:47
我还没做,不会做的话就来看你的

我也刚开始学习,看视频。边看边学边做
回复 使用道具 举报
XiaoBaoMi 发表于 2015-6-20 10:57
楼主的方法很好 学习了

谢谢支持,一起加油啊
回复 使用道具 举报
很不错哦,。。。
回复 使用道具 举报
加油。。、
回复 使用道具 举报

嗯,突然好害怕考不进黑马
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马