上机题及答案讲诉Word文件下载.docx
- 文档编号:15289182
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:37
- 大小:25.61KB
上机题及答案讲诉Word文件下载.docx
《上机题及答案讲诉Word文件下载.docx》由会员分享,可在线阅读,更多相关《上机题及答案讲诉Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
doubleFe=7.86,Au=19.3,Pi=3.1415926;
intm,n;
floatM1,M2;
scanf("
%d%d"
&
m,&
n);
//注意,要使输出的两个数据中间无逗号,“”之间要无逗号,下面也如此
M1=(4.0/3)*Pi*m/2*m/2*m/2*Fe/1000;
M2=(4.0/3)*Pi*n/2*n/2*n/2*Au/1000;
printf("
%.3f%.3f"
M1,M2);
return0;
}
3阶梯电价计费
电价分三个档次,[0,110]度电,每度电0.5元;
(110,210]度电,超出110部分每度电0.55元,超过210度电,超出210部分每度电0.70元,给出一个家庭一月用电量,请计算出应缴的电费(四舍五入,保留小数点后两位小数)。
第一行为1个整数m(100>
m>
0),表示有多少组数据。
其后一行为m个正实数,表示m个用电量数据
一行输出1个电费数据(四舍五入保留2位小数)后,换行。
3
100200329.75
50.00
104.50
193.82
(1)自己的
doublefare(doublem){
doublen;
if(m>
=0&
&
m<
=100)
n=0.5*m;
110){
if(m<
=210)
n=0.5*110+0.55*(m-110);
else
n=0.5*110+0.55*(210-110)+0.70*(m-210);
}
returnn;
intmain()
{
inta,b;
doublec;
scanf("
%d"
a);
for(b=0;
b<
a;
b++)
{
%lf"
c);
printf("
%.2f\n"
fare(c));
return0;
(2)别人的
#include<
doublemoney(doublex)
if(x>
=100&
x<
=110)
return0.5*x;
110&
return0.5*110+0.55*(x-110);
210)
return0.5*110+0.55*100+0.7*(x-210);
inta,b;
doublec;
for(b=0;
money(c));
4计算某月天数
每个月的1,3,5,7,8,10,12月有31天,4,6,9,11月有30天,闰年2月29天,其他年份2月28天,给定年份和月份求该月的天数
多组数据,输入数据第一行为整数n(n<
100),表示有几组数据数据,其后为n行,每行表示一组数据,每组数据由两个正整数a和b构成,a表示年份,b表示月份,a和b之间用空格分隔
根据年份和月份计算该月天数并输出,每输出一个天数后换行
20003
20115
20082
31
29
程序问题:
输入时年份和月份在同一行,按空格分开,不能按回车换行
1别人的
voidtianshu(intx,inty)
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
printf("
%d\n"
31);
elseif(y==4||y==6||y==9||y==11)
30);
elseif((x%4==0&
x%100!
=0||x%400==0)&
y==2)
29);
elseif(y==2)
28);
intmain()
inta,b,m,n;
for(m=1;
=n;
++m)
a,&
b);
tianshu(a,b);
2自己的
intyear,month,days;
scanf("
year,&
month);
switch(month)
{
case2:
if(year%4==0&
year%100!
=0||year%400==0)
days=29;
else
days=28;
break;
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
case4:
case6:
case9:
case11:
days=30;
}
printf("
days);
5计算整数各位数字之和
假设n是一个由最多9位数字(d9,…,d1)组成的正整数。
编写一个程序计算n的每一位数字之和
有多组数据,输入数据第1行为整数m(m<
100),表示有多少组数据,其后一行m个正整数
对每一个整数n输出它的各位数字之和后换行
63704170498
6
14
voidsum(inta)
{intx,y;
intsum=0;
for(x=100000000;
x>
0;
x=x/10)
y=a/x;
a=a-y*x;
sum+=y;
sum);
intm,n,x;
m);
for(n=1;
n<
=m;
++n)
{scanf("
x);
sum(x);
2自己的
intm,a;
for(a=1;
a<
a++)
intsum=0,x,y,n;
for(x=100000000;
y=n/x;
sum+=y;
n=n-x*y;
6完数
请写一个程序,给出指定整数范围[a,b]内的所有完数,0<
10000。
一个数如果恰好等于除它本身外的所有因子之和,这个数就称为"
完数"
。
例如6是完数,因为6=1+2+3
只有一组数据,即一行上的两个整数a和b,a和b之间用空格分隔
输出[a,b]内的所有完数,每个数字占一行
110
math.h>
intwanshu(intn)
intm;
intsum=0;
for(m=1;
n;
++m){
if(n%m==0)
sum+=m;
if(n==sum)return1;
else
intm,n,i;
for(i=m;
i<
++i){
if(wanshu(i)==1)printf("
i);
voidwanshu(intn)
intm,sum=0;
for(m=1;
m++)
if(n%m==0)
sum+=m;
if(sum==n)
n);
inta,b,n;
for(n=a;
=b;
n++)
wanshu(n);
\n"
);
inta,b,m,x,sum=0;
for(x=a;
x++)
x;
{
if(x%m==0)
}
if(sum==x)
x);
7最大公约数
最大公约数(GCD)指某几个整数共有因子中最大的一个,最大公约数具有如下性质,
gcd(a,0)=a
gcd(a,1)=1
因此当两个数中有一个为0时,gcd是不为0的那个整数,当两个整数互质时最大公约数为1。
定义函数:
intgcd(inta,intb),返回两个参数的最大公约数。
并写一个主函数调用该函数,实验各种输入参数情况。
多组数据,每组数据由同一行的两个正整数a和b构成(0<
=a,b<
10000),a和b之间用空格分隔,当a和b都为0时表示输入结束
对每组数据输出其最大公约数后换行
输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 答案