问题描述:
现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。
第一行只有一个整数m(m<=10),表示测试数据组数。
接下来的m行,每行有一个字符串(长度不超过100)。
输出互换后的字符串,每组输出占一行。
程序代码:
#include<stdio.h>
#include<string.h>
int main(){
int i,n;
char a[100];
scanf("%d",&n);
getchar();
while(n--){
gets(a);
for(i=0;i<strlen(a);i++){
if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32; //小写转换成大写
//if(a[i]>='A'&&a[i]<='Z')
// a[i]=a[i]+32;
else
a[i]=a[i]+32; //大写转换成小写
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
要点:
大小写字母在ASCII码中相差32。大写字母在前。
getchar() gets(a) printf("%c",a[i])