问题 E: 小帅的字符串
题目描述
小帅有一个字符串,但是他接到一个老师的任务
1.如果字符串中的字符为大写字母,则转换为小写字母
2.如果字符串中的字符为小写字母,则直接输出
3.如果字符串中的字符不是字母,则过滤掉
输入
多组样例,输入一个n代表字符串的长度,n≤10000,然后输入一个待处理的字符串
输出
输出响应的字符串
样例输入
5
ACdde
5
avb123
样例输出
acdde
avb
问题解释:这个题目其实就是需要把输入的字符通过ASCII码进行转换即可。
以下代码在本机Dev c++ 6.0的环境下无法得到正确答案,但是提交上oj平台后显示答案正确,说明我的代码还有缺陷,所以只参考一下为好。
#include <stdio.h>
int main(void){
char A[10005];//字符数组(其实不需要)
int i,n;
while(~scanf("%d",&n)){
getchar();//吞回车
for(i=0;i<n;i++) scanf("%c",&A[i]);
getchar();//吞掉最后一个字符(其实就是根据第二个样例来改的,所以就过了)
for(i=0;i<n;i++){
if(A[i]>='A'&&A[i]<='Z') printf("%c",A[i]-'A'+'a');
else if(A[i]>='a'&&A[i]<='z') printf("%c",A[i]);//输出无需解释
}
putchar('\n');//在每一轮后面应该要有换行符
}
return 0;
}
AC代码如上(如有问题,欢迎指正)