沒什麼好說的,記得使用ctype.h就好了,譚浩強那本書就介紹了,再不使用就太對不起他老人家了;有一點小小的地方需要注意一下,&&的優先級比=號高,所以getchar()兩邊沒有括號的話呢,你就會看到...我試著用輸出重定向(freopen())去獲得這個字符,好吧,什麼都沒有,這叫什麼來著,非打印字符,說多了,題設要求及代碼實現如下
/*
Name:
Copyright:
Author:
Date: 31/03/15 20:20
Description:
輸入一個以#結束的字符串,本題要求將小寫字母全部轉換成大寫字母,把大寫字母全部轉換成小寫字母,其它字符不變。
輸入格式:
輸入在一行中給出一個長度不超過40的、以#結束的非空字符串。
輸出格式:
在一行中按照要求輸出轉換後的字符串。
輸入樣例:
Hello World! 123#
輸出樣例:
hELLO wORLD! 123
*/
#include <stdio.h>
#include <ctype.h>
int main()
{
// freopen("in.txt", "r", stdin); // for text
// freopen("out.txt", "w", stdout); // for fun
char ch;
// while(ch = getchar()) // for debug
// putchar(1); // for fun
// ch = getchar(); // for replace
while((ch = getchar()) && ch != '#')
{
if(isalpha(ch))
{
if(isupper(ch))
ch = tolower(ch);
else
ch = toupper(ch);
}
putchar(ch);
// ch = getchar(); for replace
}
// fclose(stdin); // for test
fclose(stdout);
return 0;
}