黑马程序员技术交流社区

标题: 输入一串字符串 统计个数并把首字母大写 [打印本页]

作者: kfz0507    时间: 2017-6-11 00:04
标题: 输入一串字符串 统计个数并把首字母大写
代码:
#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);
}
作者: J0bs    时间: 2017-6-11 00:47
你想表达什么

作者: 呉HENG    时间: 2017-6-11 12:41
字符串很重要哦
作者: zhao543    时间: 2017-6-13 08:19
老夫从未见过如此简洁明了的代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2