黑马程序员技术交流社区

标题: 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言) [打印本页]

作者: 贺超智    时间: 2015-7-3 07:55
标题: 输入一英文句子,将其中所有单词首字符转换成大写后输出。(C语言)
我的代码如下, 求赐教:
#include <stdio.h>
#define  N 32                                  //宏定义N为32
int main(int argc, const char * argv[]) {
    printf("请输入一英文句子:\n");               //提示用户输入
    char str[100];                             //创建一个数组用来存放将要输入的句子
    char *p = str;                             //定一个一个字符指针,用来改变数组中的某些值
    gets(str);
//---------如果第一个输入的不是空格并且是小写字母就转换成大写---------------
    if ((*p != ' ')&&(*p >= 'a' && *p <='z')) {
        *p -=N;
    }
    p++;                                       //指针指向下一个字符
//---------判定单词首字母后面是否是空格后者换行符,如果是小写字母指针继续指向下一个字符;如果是空格,先对空格后的字符进行判定,如果是小写字母,就进行转换,如果不是就跳转到while语句继续判定---------
    while (*p != '\0') {
        if (*p != ' ') {
            p++;
        } else if(*p == ' '){
            p++;
            if (*p >= 'a' && *p <='z') {
                *p -=N;
            }
        }
    }
    puts(str);
    return 0;
}





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