1809 - 大小写互换

通过次数

0

提交次数

0

时间限制 : 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();
	}
}