程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> PAT 06-2 字符串字母大小寫轉換,pat06-2

PAT 06-2 字符串字母大小寫轉換,pat06-2

編輯:關於C語言

PAT 06-2 字符串字母大小寫轉換,pat06-2


沒什麼好說的,記得使用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;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved