C++ 语法习题(1)

​​​​​​​                            第一讲:顺序结构

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cocobol0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值