*
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);
} |
|