版权声明:那啥,咱一个萌新写的东西没啥价值。但是也要打个招呼吧…… https://blog.csdn.net/Miaplacidus/article/details/88757361
周六早上起来不知道干什么好,大物还一点不会呢
题目
Problem-2016首字母变大写
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
AC的代码
#include<stdio.h>
#include<ctype.h>
#define STLEN 150
int main(void)
{
char str[STLEN];
int inword,i;
while(fgets(str,STLEN,stdin)!=NULL){
for(i=0;i<STLEN;i++){
inword=0;
if(islower(str[i])!=0&&inword==0){
str[i]-=32;
inword=1;
}
while((isalpha(str[i])!=0&&inword==1)||(isalpha(str[i])==0&&inword==0)){
i++;
}
}
fputs(str,stdout);
}
return 0;
}
因为需要按行读入,所以用到了一直都没用过的fgets()函数。
调用了ctype.h,需要注意的是isalpha()在输入为字母和islower()在输入为小写字母是的返回值为非0,不一定是1,调试时好一顿忙活……
Run ID | Submit Time | Judge Status | Pro.ID | Exe.Time | Exe.Memory | Code Len. | Language | Author |
---|---|---|---|---|---|---|---|---|
28670731 | 2019-03-23 10:45:51 | Accepted | 2026 | 31MS | 1680K | 403 B | C | Overstars |
2019年3月23日10点51分