數組-05. 字符串字母大小寫轉換(10)

輸入一個以#結束的字符串,本題要求將小寫字母全部轉換成大寫字母,把大寫字母全部轉換成小寫字母,其它字符不變。

輸入格式:

輸入在一行中給出一個長度不超過40的、以#結束的非空字符串。

輸出格式:

在一行中按照要求輸出轉換後的字符串。

輸入樣例:
Hello World! 123#
輸出樣例:
hELLO wORLD! 123

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main(){
    char str[41];
    int i;
    cin.getline(str,41,'#');//以#結束
    int len=strlen(str);
    for(i=0;i<len;i++){
        if(str[i]>='A'&&str[i]<='Z')
            str[i]=str[i]+32;//大小寫ASC碼相差32
        else if(str[i]>='a'&&str[i]<='z')
            str[i]=str[i]-32;
        else
            str[i]=str[i];  //不是字母不作處理
    }
    puts(str);

return 0;
}

cin.getline();
此函數會一次讀取多個字符(包括空白字符)。它以指定的地址爲存放第一個讀取的字符的位置,依次向後存放讀取的字符,直到讀滿N-1個,或者遇到指定的結束符爲止。若不指定結束符,則默認結束符爲’\n’。其語法爲:
cin.getline(字符指針(char*),字符個數N(int),結束符(char));
cin.getline(str,41,’#’);

發佈了58 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章