黑马程序员技术交流社区
标题:
输入一英文句子,将其中所有单词首字符转换成大写后输出。(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