第一讲:顺序结构
1. A + B
输入两个整数,求这两个整数的和是多少。
输入格式
输入两个整数A,B,用空格隔开
输出格式
输出一个整数,表示这两个数的和
数据范围
0≤A,B≤10^8
输入样例
3 4
输出样例
7
参考代码:
#include<iostream>
using namespace std;
int main()
{
int a, b;//定义两个变量a,b
cin >> a >> b;//输入a,b
cout << a + b << endl;//输出a+b的和
return 0;
}
2. 差
读取四个整数 A,B,C,D,并计算 (A×B−C×D) 的值。
输入格式
输入共四行,第一行包含整数 A,第二行包含整数 B,第三行包含整数 C,第四行包含整数 D。
输出格式
输出格式为 DIFERENCA = X
,其中 X 为 (A×B−C×D) 的结果。
数据范围
−10000≤A,B,C,D≤10000
输入样例:
5
6
7
8
输出样例:
DIFERENCA = -26
参考代码:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
//例子中是没行读取一个变量的值,cin每次只能读取一行的值,所以要写四个cin来分别读取a,b,c,d的值。
cin>>a;
cin>>b;
cin>>c;
cin>>d;
cout<<"DIFERENCA = "<<(a*b-c*d)<<endl;
return 0;
}
3.圆的面积
计算圆的面积的公式定义为 A=πR^2。
请利用这个公式计算所给圆的面积。
π 的取值为 3.14159。
输入格式
输入包含一个浮点数,为圆的半径 R。
输出格式
输出格式为 A=X
,其中 X 为圆的面积,用浮点数表示,保留四位小数。
数据范围
0<R<10000.00
输入样例:
2.00
输出样例:
A=12.5664
参考代码:
#include <iostream>
using namespace std;
int main()
{
double pi = 3.14159
double A=0.0;
double r=0.0;
scanf("%lf",&r);
A = pi * r * r;
printf("A=%.4lf\n",A);
return 0;
}
4.平均数1
读取两个浮点数 A 和 B的值,对应于两个学生的成绩。
请你计算学生的平均分,其中 A 的成绩的权重为 3.5,B 的成绩的权重为 7.5。
成绩的取值范围在 0 到 10 之间,且均保留一位小数。
输入格式
输入占两行,每行包含一个浮点数,第一行表示 A,第二行表示 B。
输出格式
输出格式为 MEDIA = X
,其中 X 为平均分,结果保留五位小数。
数据范围
0≤A,B≤10.0
输入样例:
5.0
7.1
输出样例:
MEDIA = 6.43182
参考代码:
#include <iostream>
using namespace std;
int main()
{
double A,B;
cin>>A;
cin>>B;
printf("MEDIA = %.5lf",(A*3.5+B*7.5)/11);//计算的时候值要乘以它的权重再算平均值。
return 0;
}
5.工资
请编写一个程序,可以读取一名员工的员工编号,本月工作总时长(小时)以及时薪,并输出他的工资条,工资条中包括员工编号和员工月收入。
输入格式
输入包含两个整数和一个浮点数,分别代表员工编号,工作时长以及时薪。
每个数占一行。
输出格式
输出共两行,第一行格式为 NUMBER = X
,其中 X为员工编号。
第二行格式为 SALARY = U$ Y
,其中 Y 为该员工月收入,保留两位小数。
数据范围
1≤员工编号≤100
1≤总工作时长≤200
1≤时薪≤50
输入样例:
25
100
5.50
输出样例:
NUMBER = 25
SALARY = U$ 550.00
参考代码:
#include <iostream>
using namespace std;
int main()
{
int num,time;
double income;
cin>>num;
cin>>time;
cin>>income;
cout<<"NUMBER = "<<num<<endl;
//工资=工作时长 * 每小时的薪酬
printf("SALARY = U$ %.2lf\n",time*income);
return 0;
}
6.油耗
给定一个汽车行驶的总路程(km)和消耗的油量(l),请你求出汽车每消耗 1升汽油可行驶多少公里路程。
输入格式
输入共两行,第一行包含整数 X,表示行驶总路程。
第二行包含保留一位小数的浮点数 Y,表示消耗的油量。
输出格式
输出格式为 M km/l
,其中 M 为计算结果,保留三位小数。
数据范围
1≤X,Y≤10^9
输入样例:
500
35.0
输出样例:
14.286 km/l
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int s;//路程
double oil;//消耗的石油
cin>>s;
cin>>oil;
printf("%.3lf km/l\n",s/oil);//行驶公里:路程/消耗的石油。
return 0;
}
7.两点间的距离:
给定两个点 P1 和 P2,其中 P1 的坐标为 (x1,y1),P2 的坐标为 (x2,y2),请你计算两点间的距离是多少。
输入格式
输入共两行,每行包含两个双精度浮点数 xi,yi,表示其中一个点的坐标。
输入数值均保留一位小数。
输出格式
输出你的结果,保留四位小数。
数据范围
−10^9≤xi,yi≤10^9
输入样例:
1.0 7.0
5.0 9.0
输出样例:
4.4721
参考代码:
根号(√ ̄):开平方,2*2 = 4,根号4 = 2,3 * 3 = 9,根号9 = 3;
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double x1,x2,y1,y2;
cin>>x1>>y1;
cin>>x2>>y2;
//sqrt()函数是用来求一个数开根号的,sqrt(n)的结果就是根号n
double distance=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.4lf\n",distance);
return 0;
}
8.钞票
在这个问题中,你需要读取一个整数值并将其分解为多张钞票的和,每种面值的钞票可以使用多张,并要求所用的钞票数量尽可能少。
请你输出读取值和钞票清单。
钞票的可能面值有 100,50,20,10,5,2,1。
经过实验证明:在本题中,优先使用面额大的钞票可以保证所用的钞票总数量最少。
输入格式
输入一个整数 N。
输出格式
参照输出样例,输出读取数值以及每种面值的钞票的需求数量。
数据范围
0<N<1000000
输入样例:
576
输出样例:
576
5 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
1 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
0 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00
参考代码:
#include <iostream>
using namespace std;
int main()
{
int n=0;
cin >> n;
cout<<n<<endl;
//每次拿出相应钱的个数后,初始值n都要减去。这里减去用%,
//比如有510元,有五张100,516%100后就是求余数,
//还剩下16;%一个数结果就是除以这个数后剩下的余数。
cout << n / 100 << " nota(s) de R$ 100,00" << endl;
n %= 100;
cout << n / 50 << " nota(s) de R$ 50,00" << endl;
n %= 50;
cout << n / 20 << " nota(s) de R$ 20,00" << endl;
n %= 20;
cout << n / 10 << " nota(s) de R$ 10,00" << endl;
n %= 10;
cout << n / 5 << " nota(s) de R$ 5,00" << endl;
n %= 5;
cout << n / 2 << " nota(s) de R$ 2,00" << endl;
n %= 2;
cout << n / 1 << " nota(s) de R$ 1,00" << endl;
return 0;
}
9.时间转换
读取一个整数值,它是工厂中某个事件的持续时间(以秒为单位),请你将其转换为小时:分钟:秒来表示。
输入格式
输入一个整数 N。
输出格式
输出转换后的时间表示,格式为 hours:minutes:seconds
。
数据范围
1≤N≤1000000
输入样例:
556
输出样例:
0:9:16
参考代码:
#include <iostream>
using namespace std;
int main()
{
int s;
cin>&g