黑马程序员技术交流社区

标题: 输入英文语句,单词首字符转换大写后输出。 [打印本页]

作者: dhiwgijihc    时间: 2016-2-15 21:00
标题: 输入英文语句,单词首字符转换大写后输出。
//  main.m
//  输入英文语句,单词首字符转换大写后输出。
//
//  Created by itJG on 15/11/23.
//  Copyright © 2015年 luo. All rights reserved.
//


//  输入一串字符串 统计个数并把首字母大写     题目都是这个答案


#include <stdio.h>
int main(){
    char string[80];
    int num=0;
    int word=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==' ') {
            printf("%c",c),
            word=0;
        }else if (word==0)
        {
            word=1;
            if (c>=97&&c<122) {     //转换ASCII
                c=c-32;
            }
            num++;
            printf("%c",c);
        }else if (word==1){
            printf("%c",c);
        }
    }
    printf("单词的个数为%d\n",num);
}




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