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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码:
#include <stdio.h>
int main(){
    char string[80];
    int num=0;
    int flag=0;//标记
    char c;
   
    //gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
    gets(string);
   
    for(int i=0;(c=string[i])!='\0';i++)      //  字符串碰到\0结束   C知识
    {
        if (c==' ') {      //如果当前字符是空格的话就把标记置为0
            printf("%c",c),
            flag=0;
        }else if (flag==0)
        {
            flag=1;         //把空格后面的那个字符变成大写,并把标记置为1
            if (c>=97&&c<122) {     //转换ASCII
                c=c-32;
            }
            num++;
            printf("%c",c);
        }else if (flag==1){ //如果当前字符不是空格的话,直接输出
            printf("%c",c);
        }
    }
    printf("单词的个数为%d\n",num);
}

评分

参与人数 1黑马币 +5 收起 理由
zhao543 + 5 给力

查看全部评分

3 个回复

倒序浏览
回复 使用道具 举报
字符串很重要哦
回复 使用道具 举报
老夫从未见过如此简洁明了的代码
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马