本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出已输入的字符,其中所有单词的首字母已改为大写。
输入样例:
How are you?
输出样例:
How Are You?
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
char a[10000];
gets(a);
int i=0;
int count=0;
int flag=0;
for(i=0;i<strlen(a);i++){
if(a[i]!=32){
count++; //记录一个单词由多少个字母组成
}
else
{
if(count!=0)
{
//将首个字母转换成大写
if(a[i-count]>='a'&&a[i-count]<='z') a[i-count]-= 32;
count=0;
}
}
}
if(count>0) { //最后一个单词
if(a[i-count]>='a'&&a[i-count]<='z') a[i-count]-= 32;
}
for(i=0;i<strlen(a);i++){
printf("%c",a[i]);
}
return 0;
}