黑马程序员技术交流社区

标题: 基础试题交流 [打印本页]

作者: 流风124    时间: 2015-3-31 17:23
标题: 基础试题交流
/*
8、 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)

*/

#include <stdio.h>
#include <stdlib.h>
#define M 200
//转成大写函数的声明
void Upper(char *in);

int main(int argc, const char * argv[])
{
    printf("第8题开始:\n");
    char input[M] = {'\0'};
    printf("请输入英文句子:\n");
    //gets()函数会报warning,但是这里要接收空格,所以还是使用了
    gets(input);
    //调用函数找到单词的首字符,并且将其转换成大写
    Upper(input);
    printf("第8题结束\n");
    return 0;
}

//函数:首字符转换成大写
void Upper(char in[])
{
    //判定是否是单词首字母的标志
    int flag = 1;
    int i = 0;
    while (in[i])
    {
        //当遇到空格和Tab键时,下1个字母即为首字母
        if (in[i] == ' ' || in[i] == '\t')
        {
            flag = 1;
        }else if (flag == 1)
        {
            //将首字母的小写转换成大写
            if (in[i] >= 'a' && in[i] <= 'z')
            {
                in[i] = in[i] - ('a' - 'A');
            }
            flag = 0;
        }
        i++;
    }
    printf("%s\n",in);
}





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