这…..又是一道比较简单的题目,考的是对ASCII码的熟练的了解。贴出题目:
首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 45662 Accepted Submission(s): 25349
Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample Input
i like acm
i want to get an accepted
Sample Output
I Like Acm
I Want To Get An Accepted
解题思路
要把每个首字母变成大写,只要把这个字母在输出时减去32即可。每当字母前面有空格意味着这个字母就是一个单词的首字母,所以这个输出要做如上的处理,其他的就照常输出就好。一遍AC就出现了。
#include <stdio.h>
#include <string.h>
void main()
{
char a[100];
int len,i;
while(gets(a))
{
len=strlen(a);
printf("%c",a[0]-32);
for(i=1;i<len;i++)
{
if(a[i-1]==' ')
printf("%c",a[i]-32);
else
printf("%c",a[i]);
}
printf("\n");
}
}
希望同学们能坚持刷题,不管目的是什么,坚持总是好的(前提是方向是正确的~:)
本文介绍了一道关于ASCII码操作的编程题,要求将输入的英文句子中每个单词的首字母转换为大写。通过简单的C语言实现,利用ASCII码特性进行大小写转换。
2981

被折叠的 条评论
为什么被折叠?



