宁波大学OJ系统C语言题目答案与解析精讲.docx
- 文档编号:6473355
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:151
- 大小:57.72KB
宁波大学OJ系统C语言题目答案与解析精讲.docx
《宁波大学OJ系统C语言题目答案与解析精讲.docx》由会员分享,可在线阅读,更多相关《宁波大学OJ系统C语言题目答案与解析精讲.docx(151页珍藏版)》请在冰豆网上搜索。
宁波大学OJ系统C语言题目答案与解析精讲
1000整数输入输出练习
Description
从键盘输入任意两个整数,再向屏幕输出这两个数据。
Input
输入两个整数。
Output
输出这两个整数。
以空格间隔。
SampleInput
7-9
SampleOutput
7-9
HINT
本题的样例代码如下:
#include
intmain()
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d%d\n",a,b);
return0;
}
1001字符输入输出练习1
Description
从键盘任意输入一个字符,再输出这个字符。
Input
任意输入一个字符。
Output
输出该字符。
SampleInput
#
SampleOutput
#
#include
intmain()
{
chara;
scanf("%c",&a);
printf("%c\n",a);
return0;
}
1002单组A+B
Description
从键盘输入任意两个整数a和b,计算并输出a+b的值。
Input
从键盘输入两个整数a和b。
Output
输出这两个数的和
SampleInput
12
SampleOutput
3
#include
intmain()
{
inta,b,c;
scanf("%d%d",&a,&b);
c=a+b;
printf("%d\n",c);
return0;
}
1003多组A+B
(1)
Description
分别计算多组a+b的值。
Input
输入包含多组测试数据。
每行包含一组整数a,b。
当输入为00时,测试结束,此时的结果不输出。
Output
对于每一对整数a,b,输出它们的和,并且每行输出一个结果。
SampleInput
15
1020
00
#include
intmain()
{
inta,b,y;
scanf("%d%d",&a,&b);
while(a!
=0||b!
=0)
{
y=a+b;
printf("%d\n",y);
scanf("%d%d",&a,&b);
}
return0;
}
1004多组A+B
(2)
Description
分别计算多组a+b的值。
Input
第一行包含一个整数N,表示有N组数据。
接下来的N行,每行输入一组a,b数据。
Output
对于每一对整数a,b,输出它们的和,并且每行输出一个结果。
SampleInput
2
15
1020
SampleOutput
6
30
#include
intmain()
{
inta,b,y,i=1,N;
scanf("%d",&N);
while(i<=N)
{
scanf("%d%d",&a,&b);
y=a+b;
printf("%d\n",y);
i++;
}
return0;
}
1005计算平均分
(1)
Description
输入一个学生的3门课成绩a,b,c,求出该学生的平均分。
Input
输入三个成绩a,b,c。
Output
输出平均值,要求保留1位小数。
SampleInput
607080
SampleOutput
70.0
#include
intmain()
{
doublea,b,c,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=(a+b+c)/3.0;
printf("%.1f\n",d);
return0;
}
06计算月收入
Description
某小型外贸公司员工月收入的计算方法为:
月基本工资加当月提成。
从键盘输入某员工某月的基本工资和该月的提成,计算并输出该员工的月收入。
Input
输入两个数分别代表月基本工资和月提成。
Output
计算并输出月收入(保留2位小数)。
SampleInput
31001200
SampleOutput
4300.00
#include
intmain()
{
doublea,b,c;
scanf("%lf%lf",&a,&b);
c=a+b;
printf("%.2f\n",c);
return0;
}
1007温度转换
Description
2011夏季,热浪席卷了全球的大部分地方。
网上报道美国局部地区的温度达到了100华氏度,而我们国内的温度多在38摄氏度左右。
那么38摄氏度和100华氏度到底哪个更热一些呢?
请你帮忙编一个程序来解决这一问题。
从键盘输入一个华氏温度,求出其对应的摄氏温度。
计算公式如下:
c=5*(f-32)/9
c表示摄氏温度,f表示华氏温度。
Input
输入一个华氏温度值。
Output
输出对应的摄氏温度值,结果要求保留2位小数。
SampleInput
100
SampleOutput
37.78
#include
intmain()
{
doublec,f;
scanf("%lf",&f);
c=5*(f-32)/9;
printf("%.2f\n",c);
return0;
}
1008求圆周长和圆面积
Description
从键盘输入一个圆的半径r,计算并输出圆周长和圆面积。
Input
输入一个圆半径r。
Output
按序输出圆周长和圆面积,结果保留两位小数。
SampleInput
41
SampleOutput
257.485278.34
HINT
圆周率使用3.14
#include
#definePI3.14
intmain()
{
doubler,c,s;
scanf("%lf",&r);
c=2*PI*r;
s=PI*r*r;
printf("%.2f%.2f\n",c,s);
return0;
}
1009求圆柱体表面积
Description
输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上,保留2位小数。
Input
输入圆柱体的底面半径r和高h。
Output
计算圆柱体的表面积并输出到屏幕上,保留2位小数。
SampleInput
42.171.6
SampleOutput
30060.92
HINT
圆周率使用3.14
#include
#definePI3.14
intmain()
{
doubler,h,s;
scanf("%lf%lf",&r,&h);
s=2*PI*r*r+2*PI*r*h;
printf("%.2f\n",s);
return0;
}
1010计算球体的体积
Description
编写程序计算球体的体积。
参考公式v=(4/3)*PI*r*r*r,其中PI表示圆周率。
球体的半径r的值由键盘输入,保留2位小数。
Input
输入球体半径r。
Output
计算球体体积并输出到屏幕上,保留2位小数。
SampleInput
96.2
SampleOutput
3727293.58
HINT
圆周率使用3.14
#include
#definePI3.14
intmain()
{
doubler,v;
scanf("%lf",&r);
v=(4/3.0)*PI*r*r*r;
printf("%.2f\n",v);
return0;
}
1011三角形面积
Description
从键盘上输入三角形的3条边的边长a,b,c(假定3条边长可以构成三角形),求三角形面积并输出到屏幕上。
可利用海伦公式求解:
s=sqrt(p*(p-a)*(p-b)*(p-c));其中p=(a+b+c)/2;
Input
输入三条边的边长(假设3条边长可以构成三角形)。
Output
输出三角形面积。
保留2位小数。
SampleInput
345
SampleOutput
6.00
#include
#include
intmain()
{
doublea,b,c,p,s;
scanf("%lf%lf%lf",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f\n",s);
return0;
}
1012判断三角形
Description
输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积,否则输出Error。
Input
输入三个数a,b,c(浮点类型)。
Output
如果这三条边能构成一个三角形就计算并输出这个三角形的面积,保留2位小数。
如果不能构成三角形就输出Error。
SampleInput
314
SampleOutput
Error
#include
#include
intmain()
{
doublea,b,c,p,s;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&fabs(a-b) { p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%.2f\n",s); } else printf("Error\n"); return0; } 1013两点的距离 Description 从键盘输入数据表示平面上任意两点。 计算并输出这两点之间的距离。 保留2位小数。 Input 依次输入x1,y1和x2,y2分别表示平面上的两点。 Output 输出这两点间的距离。 保留2位小数。 SampleInput 3.14.25.06.0 SampleOutput 2.62 #include #include intmain() { doublex1,x2,y1,y2,l; scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); l=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); printf("%.2f\n",l); return0; } 1014数值类型转换 Description 输入一个双精度数,输出它的整型值。 Input 输入一个双精度数 Output 输出该数的浮点数形式(保留2位小数)和它对应的整型形式。 两数之间以空格间隔。 SampleInput 1.22 SampleOutput 1.221 #include #include intmain() { doublea; intb; scanf("%lf",&a); b=a; printf("%.2f%d\n",a,b); return0; } 1015两数交换 Description 从键盘输入两个整数x,y,然后交换它们的顺序并输出。 Input 输入两个整数x,y(以空格间隔)。 Output 首先输出x,y的初始值,然后换行输出交换后的两数。 同一行内的数据以空格间隔。 SampleInput 1223 SampleOutput 1223 2312 #include #include intmain() { inta,b,t; scanf("%d%d",&a,&b); printf("%d%d\n",a,b); t=a; a=b; b=t; printf("%d%d\n",a,b); return0; } 1016两数相除 Description 输入两个浮点数x,y,计算x除以y的值。 Input 输入两个浮点数x,y。 Output 输出运算结果的值,要求保留两位小数。 SampleInput 23 SampleOutput 0.67 #include #include intmain() { doublex,y,t; scanf("%lf%lf",&x,&y); t=x/y; printf("%.2f\n",t); return0; } 1017商和余数 Description 输入两个整数x,y,计算x除以y的商和余数。 Input 输入两个整数x,y。 Output 输出商和余数。 以空格间隔。 SampleInput 6514 SampleOutput 49 #include #include intmain() { intx,y,a,b; scanf("%d%d",&x,&y); a=x/y; b=x%y; printf("%d%d\n",a,b); return0; } 1018植树问题 Description 某学校植树节开展植树活动,已知树苗有m株,参加植树的同学有n人(且m>n),请问每位同学平均可以植树几株? 还有几株剩余? Input 输入两个整数m和n,分别表示树苗的数量和学生的人数(m>n)。 Output 输出每位同学平均植树的数量及剩余的树苗数量。 SampleInput 16332 SampleOutput 53 #include #include intmain() { intm,n,a,b; scanf("%d%d",&m,&n); a=m/n; b=m%n; printf("%d%d\n",a,b); return0; } 1019美元和人民币 Description 美元越来越贬值了,手上留有太多的美元似乎不是件好事。 赶紧算算你的那些美元还值多少人民币吧。 假设美元与人民币的汇率是1美元兑换6.5573元人民币,编写程序输入美元的金额,输出能兑换的人民币金额。 Input 输入美元的金额。 Output 输出能兑换的人民币的数值。 输出保留2位小数。 SampleInput 100 SampleOutput 655.73 #include #include intmain() { doublex,y; scanf("%lf",&x); y=x*6.5573; printf("%.2f\n",y); return0; } 1020计算字符的ASCII码 Description 编写程序,从键盘输入一个字符,输出它的ASCII码值。 Input 输入一个字符。 Output 输出字符对应的十进制ASCII码值。 SampleInput A SampleOutput 65 #include #include intmain() { charx; scanf("%c",&x); printf("%d\n",x); return0; } 1021单个字母的小写变大写 Description 从键盘输入一个小写字母,将其转换成大写字母并输出。 。 Input 输入一个小写字母。 (假设输入的一定是小写字母) Output 输出其大写形式。 SampleInput a SampleOutput A #include #include intmain() { charx,y; scanf("%c",&x); y=x-32; printf("%c\n",y); return0; } 1022简单译码 Description 从键盘输入两个字母,对它们进行译码。 如需要将”Hi”译成密码,规则是: 用原字母后的第3个字母来代替,如H后面第3个字母是K,i后面第3个字母是l,因此“Hi”应译为“Kl”。 Input 从键盘输入两个字母,分别存放到变量ch1,ch2中。 Output 按上述规则进行译码后输出,输出字母间不加间隔。 SampleInput Hi SampleOutput Kl #include intmain() { chara,b; scanf("%c%c",&a,&b); a=a+3; b=b+3; printf("%c%c\n",a,b); return0; } 1023字符加减运算 Description 编写一个程序,求两个字符之间的加减运算。 Input 连续输入三个字符,其中第一个输入运算符号(+或者-),后两个输入字符。 如+ab表示计算字符a与字符b相加的结果。 Output 输出两字符ASCII码值相加减的结果。 SampleInput -ab SampleOutput -1 #include intmain() { inta,b,c; c=getchar(); a=getchar(); b=getchar(); if(c=='-') { printf("%d\n",a-b); } elseif(c=='+') { printf("%d\n",a+b); } return0; } 1024求多项式值 (1) Description 求y=2*x^2+x+8的值。 其中,x为浮点数,从键盘输入,经过计算后,将y的值输出到屏幕上,保留1位小数。 Input 输入浮点数x的值。 Output 计算并输出y的值,保留1位小数。 SampleInput 1 SampleOutput 11.0 #include #include intmain() { doublex,y; scanf("%lf",&x); y=2*pow(x,2)+x+8; printf("%.1f\n",y); return0; } 1025求多项式值 (2) Description 编程根据输入的x的值,结合数学函数计算多项式y=3*x^4-2*x^3-x^2+10的结果,结果保留1位小数。 Input 输入浮点数x的值。 Output 计算并输出多项式的结果,保留1位小数。 SampleInput 1 SampleOutput 10.0 HINT 建议用double #include #include intmain() { doublex,y; scanf("%lf",&x); y=3*pow(x,4)-2*pow(x,3)-pow(x,2)+10; printf("%.1f\n",y); return0; } 1026居民电费 Description 某地居民用电是这样计算的,正常使用部分每度0.538元,阶梯部分每度0.03元。 某用户家9月份正常部分用电量为x度,阶梯部分y度,请编程计算该用户9月份应该缴纳的电费。 从键盘输入x和y,输出应缴纳电费,保留2位小数。 Input 输入x和y的值。 Output 输出应缴纳的电费,保留2位小数。 SampleInput 1010 SampleOutput 5.68 #include #include intmain() { doublex,y,m; scanf("%lf%lf",&x,&y); m=x*0.538+y*0.03; printf("%.2f\n",m); return0; } 1027存款利息 (1) Description 输入存款金额money、存期year和年利率rate,根据公式计算存款到期时的利息interest(税前)。 公式如下: interest=money(1+rate)^year-money Input 输入存款金额money、存期year和年利率rate。 Output 输出到期时的利息,保留2位小数。 SampleInput 100030.0415 SampleOutput 129.74 HINT 建议用double #include #include intmain() { doublemoney,year,rate,interest; scanf("%lf%lf%lf",&money,&year,&rate); interest=money*pow(1+rate,year)-money; printf("%.2f\n",interest); return0; } 1028存款利息 (2) Description 输入人民币存款年利率I和存款总额S,计算满一年后本息合计并输出。 Input 输入年利率和存款总数。 Output 计算满一年后本息合计,保留两位小数。 SampleInput 0.03100000 SampleOutput 103000.00 #include #include intmain() { doubleI,S; scanf("%lf%lf",&I,&S); S=S*(1+I); printf("%.2f\n",S); return0; } 1029三位数的数位分离 Description 从键盘输入一个任意的3位整数,分别求出其个位、十位和百位上的数字。 Input 输入任意的一个三位整数 Output 依次输出个位、十位、百位上的数字。 以空格间隔。 SampleInput 367 SampleOutput 763 #include #include in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宁波大学 OJ 系统 语言 题目 答案 解析