1. 程式人生 > >藍橋杯 演算法訓練 ALGO-84 大小寫轉換 字元操作

藍橋杯 演算法訓練 ALGO-84 大小寫轉換 字元操作

演算法訓練 大小寫轉換
時間限制:1.0s 記憶體限制:512.0MB
提交此題
問題描述
  編寫一個程式,輸入一個字串(長度不超過20),然後把這個字串內的每一個字元進行大小寫變換,即將大寫字母變成小寫,小寫字母變成大寫,然後把這個新的字串輸出。
  輸入格式:輸入一個字串,而且這個字串當中只包含英文字母,不包含其他型別的字元,也沒有空格。
  輸出格式:輸出經過轉換後的字串。
輸入輸出樣例
樣例輸入
AeDb
樣例輸出
aEdB

分析:一個字串的大小寫互換,主要思路就是遍歷整個字串,將每一個字元大小寫互換。
由於大小寫字母的ascll碼差為32,大寫A的ascll碼為65,小寫a的ascll碼為97。所以我們可以通過ascll碼來實現判斷該字元為大寫還是小寫,並進行轉換。程式碼如下:

#include <iostream>
using namespace std;
int main()
{
	char ch[20], *p = ch;
	cin >> ch;
	while(*p)
	{
		if(*p < 97)
			*(p++) += 32;
		else
			*(p++) -= 32;
	}
	cout << ch;
	return 0;
}