c303 - PA:大小之塔
題目描述
題目要求讀取一串由大小寫字母組成的字串,並將字串中的每個字母的大小寫反轉後輸出。輸入包含多組測試數據,每組數據的第一行是一個整數 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");
}
}