永发信息网

关于C++ 的字母大小写转换的问题

答案:3  悬赏:0  手机版
解决时间 2021-03-04 20:37
现在已经有源代码了 可是下面的主函数部分怎么写合适呢?我是C++的初学者,所以代码写得不是很熟练。。。。总是写不出合的。。。
char upper(char c) // 不改变实参
{
if(c>='a' && c<='z')
return c - 'a' + 'A';
else
return c;
}

char lower(char c) // 不改变实参
{
if(c>='A' && c<='Z')
return c - 'A' + 'a';
else
return c;
}
希望有哪位网友帮我补全,使程序运行起来~不胜感谢!
最佳答案
可以根据大小写字符的ASCII码相差32,判断是否是大写字母,如果是把该字符的ASCII加上32就是该字符的小写字母,如果小写字母减去32就该字符的大写字母。
//参考代码
#include 
using namespace std;
int main()

    char i; 
    cout<<"input: "<      cin>>i;//输入字符
    if ((i>=65)&&(i<=90))    //如果该字符是大写字母
    i=i+32; 
    else if((i>=97)&&(i<=122)) //如果该字符是小写字母   
    i=i-32;  
    else//该字符是其他字符
    i=i;  
    cout<     return 0;
}
全部回答
#include int main() { char szValue[32]={0}; char szValueUP[32]={0}; char szValueDown[32]={0}; cout<<"请输入10个字母:"<>szValue[i]<
  • 2楼网友:佘樂
  • 2021-03-04 17:08
#include char upper(char c); char lower(char c); int main(int argc, char **argv) { char str[100] = ""; int i = 0; cout << "Please input a string" << endl; cin >> str; str[99] = 0; cout << "The string you input is : " << str << endl; while (str[i]) { str[i] = upper(str[i]); i++; } cout << str << endl; i = 0; while (str[i]) { str[i] = lower(str[i]); i++; } cout << str << endl; return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯