要求:
http://codeup.cn/problem.php?cid=100000580&pid=1
说明:
在ASCII码中,小写字母比大写字母大32,所以可以用直接减的方式来处理。
但!这一题仍旧过了样例答案错误,郁闷= =
代码(并非AC):
#include <stdio.h>
#include <string.h>
//用函数判断单词首字母是不是小写字母,若是,则转大写
void change(char a[100]){
if(a[0]>=97 && a[0]<=122){
a[0] = a[0] - 32;
}
}
int main(){
char str[200];
char ans[110][110];
int r=0,h = 0;
while(gets(str) ){
int len = strlen(str);
for(int i = 0;i <len;i++){
if(str[i] != ' ' && str[i] != '\t' && str[i] != '\r' && str[i] != '\n'){
ans[r][h++] = str[i];
}
else{
ans[r][h] = '\0';
r++;
h = 0;
}
}
for(int i = 0;i <=r;i++){
change(ans[i]);
printf("%s",ans[i]);
if(i >=0) printf(" ");
}
printf("\n");
//最后要重新把r置位0,不然会重复输出之前输进去的字符串
r = 0;
}
}