ps:该系列文章为C++入门相关题目的题解,帮助巩固知识
1.华氏温度转为摄氏温度
【问题描述】输入一个华氏温度,要求输出摄氏温度。公式为:c=5/9*(F-32)。
【样例输入】100
【样例输出】37.7778
【样例说明】100是华氏温度,根据公式计算得到它对应的摄氏温度是37.7778。
【题目解析】输入华氏温度依据公式得摄氏温度,注意摄氏温度为浮点数。
代码如下:
#include<iostream>
using namespace std;
int main()
{
float c,F;
cin >> F;
c = 5.0 / 9 * (F - 32);//5.0为浮点数,浮点数/整型=浮点数
cout << c;
return 0;
}
2.求三角形面积
【问题描述】
若已知三角形三个边的长度分别为a,b,c(并假设三个边长度的单位一致,在本编程题中忽略其单位),则可以利用公式:
求得三角形的面积,其中:s=(a+b+c)/2。编程实现从控制台读入以整数表示的三个边的长度(假设输入的长度肯定可以形成三角形),然后利用上述公式计算面积并输出。
【输入形式】
从控制台输入三个数表示三角形三个边的长度,以空格分隔三个数。
【输出形式】
向控制台输出求得的三角形的面积。
【输入样例】
3.2 4.4 5.6
【输出样例】
7.02624
【样例说明】
输入的三角形三个边的长度分别为3.2、4.4、5.6,利用上述计算公式可以求得三角形的面积为7.02624。
【题目解析】
同上,依据公式,注意浮点数。
代码如下:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a, b, c, s, S;
cin >> a >> b >> c;
s = (a + b + c) / 2;
S = sqrt(s * (s - a) * (s - b) * (s - c));//sqrt()函数为平方根函数,要添加头文件#include<cmath>
cout << S;
return 0;
}
3.前驱、后继字符
【问题描述】
从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。
【输入形式】
从键盘输入一个字符
【输出形式】
按两行输出:
第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;
第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。
【输入样例】
b
【输出样例】
a b c
97 98 99
【样例说明】
输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99
【题目解析】
前驱即前一个字符,后继为后一个字符。根据ASCII码值便可以知道前驱、后继字符,具体如下:
#include<iostream>
using namespace std;
int main()
{
char a,b,c;//定义3个字符,b为中间字符。用string也可以
cin >> b;
a = b - 1;
c = b + 1;//可以直接使用ASCII值的关系
cout << a << " " << b << " " <<c<<endl;//注意空格
cout<<(int)a<<" " << (int)b << " " <<(int) c;//(int)a:直接显示字符a的ASCII值
return 0;
}
4.人民币兑换
【问题描述】
输入一个人民币的整数值(100以内以元为单位),编程找到用10元、5元、2元、1元表示的总数量的最小组合方式。
【输入形式】
从控制台输入一个整数值,表示以元为单位的人民币币值。
【输出形式】
向控制台输出四个整数(以空格分隔),分别表示兑换成的10元、5元、2元、1元人民币的数量,若没有某个币值,则对应输出0。
【样例1输入】
98
【样例1输出】
9 1 1 1
【样例1说明】
输入为98,表示98元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:9个10元,1个5元,1个2元,1个1元,故输出:9 1 1 1
【样例2输入】
11
【样例2输出】
1 0 0 1
【样例2说明】
输入为11,表示11元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:1个10元,1个1元,没有5元和2元,故输出:1 0 0 1
【题目解析】
求组合总数最小方式则从面额最大开始凑整,除以10再用余数除以5,依次类推。代码如下
#include<iostream>
using namespace std;
int main()
{
int a;
cin >> a;
cout << a / 10 << " ";
a %= 10;//a=a%10;
cout << a / 5 << " ";
a %= 5;
cout << a / 2 << " ";
cout << a % 2;
return 0;
}
5.有关圆的计算
【问题描述】输入圆的半径r和圆柱的高h,依次输出圆周长、圆面积、圆球表面积、圆柱体积(以空格分隔,π取3.14)。其中,圆周长=2πr,圆面积=πr2,圆球表面积=4πr2,圆柱体积=hπr2。
【输入形式】从键盘输入两个数,中间用空格隔开。
【输出形式】将结果在一行输出,之间用空格隔开。
【样例输入】1.5 3
【样例输出】9.42 7.065 28.26 21.195
【样例说明】半径是1.5,高是3,计算得到的圆周长是9.42,圆面积是7.065,圆球表面积28.26,圆柱体积21.195
【题目解析】
基本数学运算,如下:
#include<iostream>
using namespace std;
#define pi 3.14//宏定义或者:const double pi=3.14;
int main()
{
double r, h,c,s,S,V;
cin >> r >> h;
c = 2.0 * pi *r;
s = pi * r * r;
S = 4.0 * pi * r * r;
V=h* pi * r * r;
cout << c << " " << s << " " << S << " " << V;
return 0;
}
顺序结构就到这里,代码无情,人间有情,欢迎大家点赞评论加收藏。内容如有问题希望大家在评论区指点一二。