实现大小写字母互变后排序
问题描述:
从键盘任意输入字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变。
效果如图:
开发环境:
Dev C++
解题思路:
问题分析:随意输入若干字字符后按一定顺序排序
解题思路://A的 ASCII码为65,Z 的 ASCII码为90
//a的 ASCII码为97,z 的 ASCII码为122
通过键盘去定义一个数组的大小再通过键盘输入一串字符,对字符进行处理互换,后按顺序输出,期间考察对ASCII的考察
从键盘任意输入字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变。
程序设计:
```cpp
//将大写字母改成小写,反之相反,其他字符不变
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int arraysize;
char *array;
int number;
cout<<"please input a number of array elements:\n";
cin>>arraysize;
if((array=new char [arraysize])==NULL)
{
cout<<"can't allocate more memory,terminnating.\n";
exit(1);
}
cout<<"请输入一个字符串:";
for(number=0;number<arraysize;number++)
{
cin>>array[number];
}
cout<<'\n'<<"--------------------------------"<<endl
<<"原始字符串为:"<<endl;
for(number=0;number<arraysize;number++)
{
cout<<array[number]<<" " ;
}
for(number=0;number<arraysize;number++)
{
if(array[number]>=65 && array[number]<=90 )
//A的 ASCII码为65,Z 的 ASCII码为90
{
array[number]+=32;
continue;
}
else if(array[number]>=97 && array[number]<=122)
{ //a的 ASCII码为97,Z 的 ASCII码为122
array[number]-=32;
continue;
}
else
{
continue;
}
}
cout<<'\n'<<"修改后字符串为:"<<endl;
for(number=0;number<arraysize;number++)
{
cout<<array[number]<<" " ;
}
delete[]array;
}
# 运行结果:

版权声明:本文为csq542586原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。