编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。(5.2.12)
输入一行,只有一个整数c
输出只有一行,包括1个实数。(保留两位小数)
50
122.00
[基础问题]
#include
#include
using namespace std;
int c;
int main()
{
scanf("%d",&c);
printf("%.2lf",(double)((9.0 / 5) * c + 32));
return 0;
}
暑假来了,天气特别热,花花到冷饮店来买冷饮;已知雪糕2.5元/支,碎碎冰1.5元/支,花花买了x支雪糕和y支碎碎冰,老板说今天有优惠,可以有1支雪糕免费,请问花花应该付给老板多少钱?
两个整数x和y,分别代表了雪糕和碎碎冰的购买数量。
一个小数,代表了花花应付给老板的金额(结果保留1位小数)。
3 5
12.5
[基础问题]
#include
#include
using namespace std;
int x , y;
int main()
{
scanf("%d %d",&x,&y);
printf("%.1lf",(x * 2.5 + y * 1.5) - 2.5);
return 0;
}
小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算机出总金额,并打印出清单。
两行
第一行商品的单价,是一个小数
第二行商品的数量,是一个整数
一行,商品的单价,数量,及金额,中间用空格隔开。单价保留两位小数,总金额去掉小数。数量为整数。
3.55
3
3.55 3 10
[基础问题]
#include
#include
using namespace std;
double a;
int b;
int main()
{
scanf("%lf",&a);
scanf("%d",&b);
printf("%.2lf %d %d",a,b,(int)(a * b));
return 0;
}
小雅刚刚考完语文、数学、英语的三门期中考试,她想请你编个程序来帮她算算她的平均分,要求输入三个正整数,分别表示三科考试的分数,输出它们的平均值。
一行,包括三个正整数,两两之间用一个空格分隔。
一个数,表示输入的三个数的平均值。【注意:结果请保留3位小数】
75 88 99
87.333
特别说明:输入的三个正整数均不超过150,输出的数应该使用double类型的。
[基础问题]
#include
#include
using namespace std;
int a , b , c;
int main()
{
scanf("%d %d %d",&a,&b,&c);
printf("%.3lf",(a + b + c) / 3.0);
return 0;
}
期末考试成绩出来了,小明同学语文、数学、英语分别考了x、y、z分,请编程帮助小明计算一下,他的总分和平均分分别考了多少分?
三个整数x、y、z分别代表小明三科考试的成绩。
第1行有一个整数,代表总分,第2行有一个小数(保留1位小数)代表平均分。
100 95 91
286
95.3
[基础问题]
#include
#include
using namespace std;
int x , y , z;
int main()
{
scanf("%d %d %d",&x,&y,&z);
printf("%d\n%.1lf",x + y + z,(x + y + z) / 3.0);
return 0;
}
花花去文具店买了1支笔和1块橡皮,已知笔x元/支,橡皮y元/块,文具店今天有活动,可以给顾客打9折(用购买总价 * 0.9),花花付给了老板n元,请问老板应该找给花花多少钱?
三个整数x、y、n,分别代表了笔的单价、橡皮的单价和花花付给老板的钱(已知花花付给老板的钱n>=x+y)
一个小数(保留1位小数),代表老板应该找给花花的钱
2 1 5
2.3
[基础问题]
#include
#include
using namespace std;
int x , y , n;
int main()
{
scanf("%d %d %d",&x,&y,&n);
printf("%.1lf",n - (x + y) * 0.9);
return 0;
}
小兔朱迪挖了x个胡萝卜,狐狸尼克挖到胡萝卜数量是小兔挖到的3倍,小羊肖恩挖到胡萝卜的数量比狐狸尼克少8个;
请你编程计算一下狐狸尼克和小羊肖恩分别完了几个胡萝卜,以及平均每个动物挖了几个胡萝卜?
一个整数x代表小兔挖走的胡萝卜的数量。
三个数,每行1个,第1个整数代表狐狸尼克挖走的胡萝卜的数量,第2个整数代表小羊肖恩挖走的胡萝卜的数量,第3个数是小数代表平均每个动物挖走了几个胡萝卜(结果保留1位小数)。
10
30
22
20.7
[基础问题]
#include
#include
using namespace std;
int x;
int main()
{
scanf("%d",&x);
printf("%d\n%d\n%.1lf",x * 3,x * 3 - 8,(x + (x * 3) + (x * 3 - 8)) / 3.0);
return 0;
}
梯形面积的求解公式为 S = (a + b) * h / 2。从键盘读入一个梯形的上底a、下底b和高h,请计算表梯形的面积。(结果保留1位小数)(5.1.15)
三个整数a、b、h
梯形的面积
2 3 5
12.5
[基础问题]
#include
#include
using namespace std;
int a , b , h;
int main()
{
scanf("%d %d %d",&a,&b,&h);
printf("%.1lf",((a + b) * h) / 2.0);
return 0;
}
已知一个圆的半径,求解该圆的面积和周长
输入只有一行,只有1个整数。
输出只有两行,一行面积,一行周长。(保留两位小数)。 令pi=3.1415926
1
3.14
6.28
圆的面积和周长求解公式分别如下;
圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)
圆的周长C = π * 2 * 半径;
[基础问题]
圆的面积公式不要忘记 2 * pi * r
#include
#include
#include
using namespace std;
int r;
const double pi=3.1415926;
int main()
{
scanf("%d",&r);
printf("%.2lf\n%.2lf",pi * pow(r,2),2 * pi * r);
return 0;
}
龙湖校区有一个圆形花坛,量得花坛周围的篱笆长是x米,请问该花坛的面积是多少平方米?(假设π=3.14)(5.2.99)
一个小数x
花坛的面积(结果保留2位小数)
18.84
28.26
圆的面积和周长求解公式分别如下;
圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)
圆的周长C = π * 2 * 半径;
[基础问题]
这里要记一下篱笆长度的求法
#include
#include
#include
using namespace std;
double x ;
const double pi = 3.14;
int main()
{
scanf("%lf",&x);
//篱笆长度求法 r * 2 * pi = x
printf("%.2lf",pi * pow(x / (2 * pi) , 2));
return 0;
}
如下图所示的圆环铁片,中间是空心的,已知圆环外圆的半径是r1厘米(如:10cm),内圆半径是r2厘米(如:6cm),请编程计算该铁片的面积。(外圆面积 – 内圆面积,假设π=3.14,结果保留2位小数)
(5.2.99)
2个整数r1、r2,分别代表外圆和内圆的半径。
铁片的面积。
10 6
200.96
圆的面积和周长求解公式分别如下;
圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数点后多少位,取决于具体的题目)
圆的周长C = π * 2 * 半径;
[基础问题]
#include
#include
#include
using namespace std;
int r1 , r2;
const double pi = 3.14;
int main()
{
scanf("%d %d",&r1,&r2);
printf("%.2lf",(pi * pow(r1,2)) - (pi * pow(r2,2)));
return 0;
}
根据多边形内角和定理,正多边形内角和等于:(n - 2)×180°(n大于等于3且n为整数)(如下图所示是三角形、四边形、五边形、六边形的形状)
请根据正多边形的边数,计算该正多边形每个内角的度数。(结果保留1位小数)(4.1.83)
正多边形的边数n(n>=3 且 n <= 10)
该正n边形每个内角的度数。
3
60.0
[基础问题]
这里需要注意不能是整数的180°
#include
#include
using namespace std;
int x;
int main()
{
scanf("%d",&x);
//这里需要注意如果只算180只能求出整数 有个测试样例卡着会 7 最后算出来是 128.0 但是要128.6
printf("%.1lf",(double)(((x - 2) * 180.0) / x));
return 0;
}
牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。
三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是100分。
一个整数,即牛牛这门课程的总成绩,满分也是100分。
100 100 80
90
输入样例#1:
100 100 80
输出样例#1:
90
输入样例#2:
60 90 80
输出样例#2:
79
【输入输出样例1说明】
牛牛的作业成绩是100分,小测成绩是100分,期末考试成绩是80分,总成绩是
100×20%+100×30%+80×50%=20+30+40=90
【输入输出样例2说明】
牛牛的作业成绩是60分,小测成绩是90分,期末考试成绩是80分,总成绩是
60×20%+90×30%+80×50%=79。
【数据说明】
对于30%数据,A=B=0。
对于另外30%的数据,A=B=100。
对于100%的数据,0≤A,B,C≤100且A、B、C都是10的整数倍。
【来源】
NOIP2017-普及组复赛第1题
[noip复赛][基础问题]
#include
#include
using namespace std;
int a , b , c;
int main()
{
scanf("%d %d %d",&a,&b,&c);
printf("%.0lf",(a * 0.2) + (b * 0.3) +(c * 0.5));
return 0;
}
有一块n * n(n>=5,且n是奇数)的红玫瑰花圃,由n * n个小正方形花圃组成,现要求在花圃中最中间的一行、最中间的一列以及4个顶点处种植粉色玫瑰,请问粉玫瑰占地面积占整个玫瑰花圃总面积的百分比是多少?(6.2.72)
如n=5,花圃形状如下,粉玫瑰占地百分比 = 13/25 = 52.0%
如n=7,花圃形状为如下,粉玫瑰占地百分比 = 17 / 49 = 34.7%
一个整数n (n>=5,且n是奇数)
粉玫瑰占总玫瑰园的百分比,结果保留1位小数,显示为百分比的形式
5
52.0%
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%.1lf%%",((n + n - 1 + 4) * 100.0 / (n * n)));
return 0;
}
从键盘读入一个两位的整数n,请求出这个两位整数个位和十位的和是多少?
一个两位的整数n。
一个整数,代表n个位和十位的和。
24
6
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%d",n % 10 + n / 10);
return 0;
}
请输出一个两位的整数n,倒过来的数,也就是输出这个两位数个位和十位颠倒的结果。
比如:整数23倒过来是32,整数18倒过来是81,整数20倒过来是2。
两位整数n。
n倒过来的整数。
16
61
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res = res * 10 + temp;
n /= 10;
}
printf("%d",res);
return 0;
}
对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。
输入一行,只有一个整数x(100<=x<=999)
输出只有一行,包括1个整数
123
6
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%d",(n / 100) + (n / 10 % 10) + (n % 10));
return 0;
}
输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数
输入一行,只有一个整数x(100<=x<=999)。
输出只有一行,包括1个整数。
123
321
[基础问题]
#include
#include
using namespace std;
int a;
int main()
{
scanf("%d",&a);
int ge = a % 10;
int shi = a % 100 / 10;
int bai = a / 100;
a = ge * 100 + shi * 10 + bai;
printf("%d",a);
return 0;
}
请从键盘读入一个四位整数,求这个四位整数各个位的和是多少?
一个四位整数n
这个四位数各个位的和
3456
18
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res += temp;
n /= 10;
}
printf("%d",res);
return 0;
}
小丽在编程课上学会了拆位运算,她已经可以拆出一个两位整数的十位和个位了,她想知道这个整数的十位/个位的结果是多少,请编程帮她实现?(请注意,计算结果要保留1位小数)
输入一个两位的正整数n,且n的个位一定不为0。
输出这个两位正整数十位除以个位的计算结果,结果保留1位小数。
72
3.5
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%.1lf",double(n / 10) / (n % 10));
return 0;
}
输入一个三位正整数,然后与它倒过来的数相加,输出和。
如:输入167,则和为167+761=928
只有一行,一个三位正整数。
一个正整数
167
928
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int x = n;
int res = 0;
while(n > 0){
int temp = n % 10;
res = res * 10 + temp;
n /= 10;
}
printf("%d",res + x);
return 0;
}
任意读入一个四位整数,颠倒后输出。
输入一行,只有一个整数x(1000<=x<=9999)。
输出只有一行,包括1个整数。
4567
7654
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res = res * 10 + temp;
n /= 10;
}
printf("%d",res);
return 0;
}
从键盘读入一个5位的正整数,请求出这个5位数的各个位之和;
一个5位的正整数n
这个5位数的各个位之和
12345
15
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res += temp;
n /= 10;
}
printf("%d",res);
return 0;
}
小丽在编程课上学会了拆位运算,她已经可以拆出一个三位整数的百位、十位和个位了,她想知道这个整数的(百位+十位)/(十位+个位)的结果是多少,请编程帮她实现?(请注意,计算结果要保留2位小数)
比如:整数135的(百位+十位)/(十位+个位)的计算结果 = (1+3)/(3+5) = 4 / 8 = 0.50。
读入一个三位的正整数n(n的各个位中都不含数字0)
输出这个三位正整数(百位+十位)除以(十位+个位)的计算结果,保留2位小数。
135
0.50
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
printf("%.2lf",double((n / 100) + (n / 10 % 10)) / double((n / 10 % 10) + (n % 10)));
return 0;
}
小丽所在的小区水果店搞店庆活动,小丽去看了一下,她最喜欢的三种水果的价格分别为:苹果8.5元/斤,鸭梨5.6元/斤,橙子6.2元/斤,三种水果小丽各买了若干斤,请编程帮助小丽计算一下,她应该付多少钱?
读入三个小数x、y、z,分别代表小丽购买的苹果、鸭梨和橙子的斤数。
输出小丽应付的金额,结果保留1位小数。
1.2 5.5 3.9
65.2
[基础问题]
#include
#include
using namespace std;
double x , y , z;
int main()
{
scanf("%lf %lf %lf",&x,&y,&z);
printf("%.1lf",x * 8.5 + y * 5.6 + z * 6.2);
return 0;
}
小丽在编程课上学会了拆位运算,她已经可以拆出一个四位整数的千位、百位、十位和个位了,她想知道这个整数的前两位和后两位如果分别组成两个新的整数x和y的,那么x+y和x/y的计算结果分别是多少,请编程帮她实现?(请注意,除法运算的计算结果要保留1位小数)
比如:整数1208如果将前两位和后两位分别组成两个新数,那么这两个新数分别是x = 12和y = 8,计算结果分别为
x + y = 12 + 8 = 20
x / y = 12 / 8 = 1.5
读入一个四位整数n(n的十位和个位不可能同时为0,也就是,读入的整数不可能是类似1200这样的整数)
按题意要求输出计算结果,分两行输出
第1行输出前两位和后两位组成新数的和
第2行输出前两位和后两位组成新数相除的结果,计算结果保留1位小数
1208
20
1.5
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
int q = n / 1000;
int b = n / 100 % 10;
int s = n / 10 % 10;
int g = n % 10;
int x = q * 10 + b;
int y = s * 10 + g;
printf("%d\n%.1lf",x + y,double(x) / double(y));
return 0;
}
从键盘读入一个6位整数n,请求出这个6位整数各个位分别是多少,从高位到低位依次输出,每行一个。
一个6位整数n。
第1行输出6位数的十万位
第2行输出6位数的万位
第3行输出6位数的千位
第4行输出6位数的百位
第5行输出6位数的十位
第6行输出6位数的个位
123456
1
2
3
4
5
6
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res = res * 10 + temp;
n /= 10;
}
while(res > 0){
int t = res % 10;
printf("%d\n",t);
res /= 10;
}
return 0;
}
某军事单位用4位整数来传递信息,传递之前要求先对这个4位数进行加密。加密的方式是每一位都先加上5然后对10取余数,再将得到的新数颠倒过来。
例如:原数是1379,那么每位加5对10取余数的结果为6824,然后颠倒该数,得到新数:4286。
再比如:原数是2570,那么每位加5对10取余数的结果为7025,然后颠倒高数,得到新数:5207。
请根据加密要求,写出加密算法!
加密前的4位数
加密后的结果
1379
4286
[基础问题]
#include
#include
using namespace std;
int n;
int main()
{
scanf("%d",&n);
int res = 0;
while(n > 0){
int temp = n % 10;
res = res * 10 + ((temp + 5) % 10);
n /= 10;
}
printf("%d",res);
return 0;
}