1809 - 大小写互换
时间限制 : 3 秒
内存限制 : 128 MB
现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。
题目输入
第一行只有一个整数m(m<=10),表示测试数据组数。
接下来的m行,每行有一个字符串(长度不超过100)。
题目输出
输出互换后的字符串,每组输出占一行。
输入/输出样例
输入格式
2 Acm ACCEPTED
输出格式
aCM accepted
C语言解答
#include <stdio.h> #include <ctype.h> int main(){ int m,n,i,j; char s[101]; scanf("%d%*c",&n); while(n--){ i=0; gets(s); while(s[i]){ if(s[i]<='Z') s[i] = tolower(s[i]); else s[i] = toupper(s[i]); i++; } puts(s); } return 0; }
C++解答
#include<iostream> #include<string> #include<cctype> using namespace std; int main(){ int n; cin>>n; while(n--){ string s; cin>>s; for(string::size_type ix=0;ix<s.size();ix++){ if(s[ix]>='A'&& s[ix]<='Z') s[ix]=tolower(s[ix]); else s[ix]=toupper(s[ix]); } for(string::size_type i=0;i<s.size();i++) cout<<s[i]; cout<<endl; } }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int m=sc.nextInt(); while(m-->0){ String str=sc.next(); char c[]=str.toCharArray(); for(int i=0;i<c.length;i++){ if(Character.isLowerCase(c[i])){ System.out.print(Character.toUpperCase(c[i])); }else if(Character.isUpperCase(c[i])){ System.out.print(Character.toLowerCase(c[i])); } } System.out.println(); } sc.close(); } }