# String Manipulation# Character Conversion

c303 - PA:大小之塔

🔗 前往 ZeroJudge 原題

題目描述

題目要求讀取一串由大小寫字母組成的字串,並將字串中的每個字母的大小寫反轉後輸出。輸入包含多組測試數據,每組數據的第一行是一個整數 n,表示字串的長度,第二行是字串本身。

解題思路

這題的解題思路非常簡單,只需要遍歷輸入字串的每個字符,判斷該字符是否為大寫字母,如果是,則轉換為小寫字母;否則,轉換為大寫字母。然後將轉換後的字符輸出即可。

複雜度分析

  • 時間複雜度: O(n),其中 n 是字串的長度。因為需要遍歷字串中的每個字符。
  • 空間複雜度: O(1),因為只需要常數級別的額外空間來存儲字符。

程式碼

#include <stdio.h>
int main(){
	int a;
	char c[100001];
	while(scanf("%d",&a)>0){
		scanf("%s",&c);
		for(int i=0;i<a;i++)
		(c[i]>='A'&&c[i]<='Z')?printf("%c",c[i]+32):printf("%c",c[i]-32);
		printf("\n");
	}
}

Discussion