首页 > 代码库 > 53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”

53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”

(1)我的错误程序:

#include<iostream>#include<string.h>using namespace std;int ZhuanHuan(char);int main(){    char a[100];    cout<<"please input a string: "<<endl;    cin>>a;    for(int i=0;i<strlen(a);i++)    {        ZhuanHuan(a[i]);    }    for(int j=0;j<strlen(a);j++)    {        cout<<a[j];    }    return 0;}int ZhuanHuan(char index){    int temp;    if(index>=a&&index<=z)    {        temp=(int)index;        temp=index+32;        index=(char)temp;    }else if(index>=A&&index<=Z)    {        temp=(int)index;        index=index-32;        index=(char)temp;    }else    {        return 0;    }}

(2)修改后的程序:

#include<iostream>#include<string.h>using namespace std;void ZhuanHuan(char &); //不需要返回值int main(){    char a[100];    cout<<"please input a string: "<<endl;    cin>>a;    for(int i=0;i<strlen(a);i++)    {        ZhuanHuan(a[i]);    }    for(int j=0;j<strlen(a);j++)    {        cout<<a[j];    }    return 0;}void ZhuanHuan(char &index) //1.不需要返回值,用void,  2.因为要带回数据,所以要用引用{    if(index>=a&&index<=z)    {        index += A-a ;    }else if(index>=A&&index<=Z)    {        index += a-A ;    }}