欢迎大家观看此篇博客。该系列文章为C++入门相关题目的题解,帮助巩固知识。
1.字符转换
【问题描述】输入一个字符,如果是大写字母则转换为对应的小写字母,如果是小写字母则转换为对应的大写字母,如果是数字字符则转换为对应的数值,并计算其平方值,如果都不是则不转换,将转换后的结果输出。
【输入形式】一个字符
【输出形式】一个字符或一个整数值
【样例输入】b
【样例输出】B
【样例输入】Y
【样例输出】y
【样例输入】3
【样例输出】9
【样例输入】?
【样例输出】?
【样例说明】输入数字字符时 ,输出对应的数值和输出字符本身是看不出来差别的,但请在程序里面练习数字字符转数值的过程。
【题目解析】由ASCII码中个字符的关系和样例中的分类方式分别进行输出。代码如下:
#include<iostream>
using namespace std;
int main()
{
char a;
cin >> a;
//ASCII码:a=97;A=65
if (a <= 'z' && a >= 'a')
cout << char(a - 32);
else if (a <= 'Z' && a >= 'A')
cout << char(a + 32);//a+32:字符型转整型,char():整型转字符型
else if (a >='0' && a <= '9')
cout << ((int)a-48) * ((int)a - 48);//假设a=0,由于a此时是字符型,非整数型即(int)a-48=0
else
cout << a;
return 0;
}
2.字符加密
【问题描述】输入5个小写字母,将其译成密码。密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,输入“ahoux”,‘a’->‘b’->‘c’->‘d’->‘e’,所以字母‘a’后面第4个字母是‘e’,用‘e’代替‘a’;字母‘x’后面不足4个字母,则从‘a’开始补充,‘x’->‘y’->‘z’->‘a’->‘b’,所以字母‘x’后面第4个字母是‘b’,用‘b’代替‘x’。因此,“ahoux”应译为“elsyb”。
【输入形式】连续输入5个字符
【输出形式】连续输出5个字符
【样例输入】world
【样例输出】asvph
【样例说明】'w'后面第4字符已超出小写字母范围,因此回到开头继续数,是'a','o'后面第4个字符是's','r'后面第4个字符是'v','l'后面第4个字符是'p','d'后面第4个字符是'h'。
【题目解析】依据ASCII可暴力计算得到结果
#include<iostream>
using namespace std;
int main()
{
char a,b,c,d,e;
cin>>a>>b>>c>>d>>e;
a=(a-97+4)%26+97;
b=(b-97+4)%26+97;
c=(c-97+4)%26+97;
d=(d-97+4)%26+97;
e=(e-97+4)%26+97;
cout<<a<<b<<c<<d<<e;
return 0;
}
3.分段函数(1)
【问题描述】有一分段函数如下,请编写程序,输入x值,输出y值。
【样例输入】-2.5
【样例输出】7.36396
【样例输入】1
【样例输出】2
【样例输入】11
【样例输出】0.222681
【题目解析】典型数学问题,分类讨论。
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double x, y;//数据均为浮点型
cin >> x;
if (x <= -1)
y = 3 * sqrt(fabs(x) + 2) + 1;//fabs()对double类型求绝对值,abs()对整型求绝对值
else if (x > 10)
y = sqrt((x + 1) / (2 * x * x));
else
y = pow(x, 5) + 1;//pow(被开方的数据,n次方)
cout << y;
return 0;
}
4.分段函数(2)
【问题描述】有一分段函数如下,请编写程序,输入x值,输出y值。
【样例输入】-1
【样例输出】-1.4597
【样例输入】-0.5
【样例输出】1.5874
【样例输入】1.57
【样例输出】0.999999
【题目解析】同上
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double x, y;//数据均为浮点型
cin >> x;
if (x <= -1)
y = 2 * x + cos(x);
else if (x >= 1)
y = sin(x) * sin(x);
else
y = 1.0 / pow((x + 1) * (x + 1),1.0/3);
cout << y;
return 0;
}
选择结构就到这里,代码无情,人间有情,欢迎大家点赞评论加收藏。内容如有问题请大家在评论区指点一二。