/*
输入一英文句子,将其中所有单词首字符转换成大写后输出 jack l
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{ //定义一个变量来接收输入的英文句子,应该是字符数组,假定长度为100
char a[100];
//提示用户输入一个英文句子
printf("请输入一个英文句子\n");
gets(a);
//先判断首字符,看用户输入的是大写还是小写,如果是小写则改为大写,反之不变。
if (a[0] >= 97 && a[0] <= 122) a[0] = a[0] - 32;
//从第二个字符开始寻找空格,遇到空格,则把空格后面的字符改为大写,当然如果空格后面的字符本身就是大写则不管
int i = 1;
for (i = 1; i < strlen(a); i++)
{
if (a[i] == ' '&&a[i + 1] >= 97 && a[i + 1] <= 122)
{
a[i + 1] = a[i + 1] - 32;
}
}
//输出改好之后的英文句子,也就是字符串数组
printf(a);
printf("\n");
return 0;
}
关于输入英文句子的长度问题有没有办法解决,因为长度是不确定的。 |
|