c上机答案.docx
- 文档编号:8210504
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:17
- 大小:17.44KB
c上机答案.docx
《c上机答案.docx》由会员分享,可在线阅读,更多相关《c上机答案.docx(17页珍藏版)》请在冰豆网上搜索。
c上机答案
部分参考答案
2.5选择结构
1程序的编写与调试
(2)
#include
main()
{
intx,y;
scanf("%d",&x);
if(x<0&&x>-5)y=x;
elseif(x==0)y=x-1;
elseif(x<10&&x>0)y=x+1;
elsey=100;
printf("y=%d",y);
}
(3)
#include
main()
{
intc,t,sum;
scanf("%d%d",&c,&t);
if(c==t){
if(c>=100)sum=c*80;
elsesum=c*90;
}
else{
if(c>t){
if(t>=100)sum=t*80+(c-t)*60;
elsesum=t*90+(c-t)*60;
}
else{
if(c>=100)sum=c*80+(t-c)*60;
elsesum=c*90+(t-c)*60;
}
}
printf("需要付的金额是%d\n",sum);
}
(4)
#include
main()
{
intage;
scanf("%d",&age);
switch(age){
case2:
case3:
printf("age:
%d,enterLowerclass.",age);break;
case4:
printf("age:
%d,enterMiddleclass.",age);break;
case5:
case6:
printf("age:
%d,enterHigherclass.",age);break;
default:
printf("error");
}
}
三、选做题
(1)
#include
main()
{
intx,y;
scanf("%d",&x);
y=x*x;
if(y%100==x)printf("%dyes%d*%d=%d",x,x,x,y);
elseprintf("%dno%d*%d=%d",x,x,x,y);
}
(2)
#include
main()
{
intx;
printf("----------------------------------------------\n");
printf("主菜单\n");
printf("1.添加记录2.显示记录\n");
printf("3.读取记录4.保存记录\n");
printf("----------------------------------------------\n");
printf("请选择1-4,0退出:
");
scanf("%d",&x);
switch(x){
case1:
printf("你选择了1\n");break;
case2:
printf("你选择了2\n");break;
case3:
printf("你选择了3\n");break;
case4:
printf("你选择了4\n");break;
case0:
break;
default:
printf("你选择了有误!
\n");break;
}
}
(3)
#include
main()
{
intcock,hen,chick;
for(cock=0;cock<=20;cock++)
for(hen=0;hen<=33;hen++){
chick=100-cock-hen;
if(cock*5+hen*3+chick/3==100&&chick%3==0)
printf("cock=%dhen=%dchick=%d\n",cock,hen,chick);
}
}
2.6循环结构程序设计
1程序的编写与调试
(1)#include
main()
{
inti,n;
floatt,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{t=1.0/i;
s=s+t;}
printf("s=%f\n",s);
}
(3)#include
main()
{
intt=1,n;
inti;
printf("PleaseinputN:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
t=t*2;
printf("2^%d=%d",n,t);
}
(4)
#include
main()
{
intn,i,j;
printf("PleaseinputN:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)printf("");
for(j=1;j<=i;j++)printf("%d",j);
for(j=i-1;j>=1;j--)printf("%d",j);
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++)printf("");
for(j=1;j<=i;j++)printf("%d",j);
for(j=i-1;j>=1;j--)printf("%d",j);
printf("\n");
}
}
三、选做题
(1)
#include
hcf(intm,intn){
intr;
if(m r=m%n; while(r! =0){ m=n; n=r; r=m%n;} returnn; } main(){ printf("%d",hcf(15,25));} (3) #include main(){ intx; for(x=1;x<=36;x++) if((x+x+1+x+3+x+6+x+10+x+15+x+21)==105) printf("这7个号码分别是: %d,%d,%d,%d,%d,%d,%d\n",x,x+1,x+3,x+6,x+10,x+15,x+21); } (5) 程序1: #include #include #include main(){ intmagic; intguess; srand(time(NULL)); magic=rand()%100+1; printf("Pleaseguessamagicnumber: "); scanf("%d",&guess); if(guess>magic){printf("Wrong! Toohigh! \n");} elseif(guess Toolow! \n");} else{ printf("Right! \n"); printf("Thenumberis: %d\n",magic);} } 程序2: #include #include #include main(){ intmagic; intguess; intn=0; srand(time(NULL)); magic=rand()%100+1; do{ printf("Pleaseguessamagicnumber: "); scanf("%d",&guess); if(guess>magic){printf("Wrong! Toohigh! \n");} if(guess Toolow! \n");} n++; }while(guess! =magic); printf("Right! 你猜了%d次\n",n); printf("Thenumberis: %d\n",magic); } 程序3: #include #include #include main(){ intmagic; intguess; inti; srand(time(NULL)); magic=rand()%100+1; for(i=1;i<=10;i++){ printf("Pleaseguessamagicnumber: "); scanf("%d",&guess); if(guess>magic){printf("Wrong! Toohigh! \n");} elseif(guess Toolow! \n");} else{ printf("Right! \n"); printf("Thenumberis: %d\n",magic); break;} } printf("游戏结束! 你已经猜了10次了! "); } 2.7数组 (一) (1) #include main() { inti,n=10,a[10],av=0; for(i=0;i scanf("%d",&a[i]); for(i=0;i printf("%d",a[i]); if((i+1)%3==0)printf("\n"); } for(i=0;i! =n;i++) av+=a[i]; printf("av=%f\n",av/10.0); } 三、选做题 #defineN50 #include main() { inti,a[N],n[7]; for(i=0;i for(i=0;i<7;i++)n[i]=0; for(i=0;i switch(a[i]/10){ case0: case1: case2: case3: n[0]++;break; case4: n[1]++;break; case5: n[2]++;break; case6: n[3]++;break; case7: n[4]++;break; case8: n[5]++;break; case9: case10: n[6]++;break; } } printf("0--39%d\n",n[0]); printf("40--49%d\n",n[1]); printf("50--59%d\n",n[2]); printf("60--69%d\n",n[3]); printf("70--79%d\n",n[4]); printf("80--89%d\n",n[5]); printf("90--100%d\n",n[6]); } 2.8数组 (二) 2编程 (2) #include #defineN4 #defineM5 main() { inti,j,k,a[N][M],max,maxj,flag; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); for(i=0;i {max=a[i][0]; maxj=0; for(j=0;j if(a[i][j]>max){max=a[i][j];maxj=j;} flag=1; for(k=0;k if(max>a[k][maxj]){flag=0;continue;} if(flag==1) {printf("该数组的鞍点是a[%d][%d]=%d\n",i,maxj,max); break;} } if(! flag)printf("不存在鞍点"); } (3) #include voidmain() { inta[16][16],i,j,k,n; scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1; a[1][j]=1; for(k=2;k<=n*n;k++){ i=i-1; j=j+1; if((i<1)&&(j>n)){ i=i+2;j=j-1;} else{ if(i<1)i=n; if(j>n)j=1; } if(a[i][j]==0)a[i][j]=k; else{ i=i+2; j=j-1; a[i][j]=k; } } for(i=1;i<=n;i++) {for(j=1;j<=n;j++) printf("%5d",a[i][j]); printf("\n");} } (4) #defineN4 #defineM5 #include main() { inta[N][M],i,j,k,t; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); printf("每行排序,保证右边的元素大于左边的元素\n"); for(i=0;i for(j=0;j for(k=0;k if(a[i][k]>a[i][k+1]){ t=a[i][k]; a[i][k]=a[i][k+1]; a[i][k+1]=t; } for(i=0;i for(j=0;j printf("\n"); } printf("每列排序,保证下边的元素大于上边的元素\n"); for(i=0;i for(j=0;j for(k=0;k if(a[k][i]>a[k+1][i]){ t=a[k][i]; a[k][i]=a[k+1][i]; a[k+1][i]=t; } for(i=0;i for(j=0;j printf("\n"); } (5) #defineN4 #include main() { intscore[N],count[10],i,j; for(i=0;i<10;i++)count[i]=0; for(i=0;i for(i=0;i switch(score[i]){ case1: count[0]++;break; case2: count[1]++;break; case3: count[2]++;break; case4: count[3]++;break; case5: count[4]++;break; case6: count[5]++;break; case7: count[6]++;break; case8: count[7]++;break; case9: count[8]++;break; case10: count[9]++;break; } } printf("GradeCountHistogram\n"); for(i=1;i<=10;i++){ printf("%2d%2d",i,count[i-1]); for(j=1;j<=count[i-1];j++)printf("*"); printf("\n"); } } 2.9函数 (一) 二 1 (1) #include #include main() { inta=0,k; floatav,n=0; for(k=2;k<=10;k++) if(fun(k)){a+=k;n++;} av=a/n; printf("av=%f\n",av); } intfun(intn) { inti,y=1; for(i=2;i if(n%i==0){y=0;break;} returny; } (2) #include intf(intn) { inta,b,c; a=n/100; b=n/10%10; c=n%10; if(n==a*a*a+b*b*b+c*c*c)return1; elsereturn0; } main() { intx,num=0; for(x=999;x>=100;x--) { if(f(x))num++; if(num==2)printf("%d\n",x); } } (3) #include intf(intk) { inti; printf("%d=",k); while(k! =1) { for(i=2;i if(k%i==0){printf("%d*",i);break;} if(i==k)printf("%d",i); k=k/i; } } main() { f(126); } 2.10函数 (二) 二 2. doublep(intn,doublex) { doublez; if(n==0)z=1; elseif(n==1)z=x; elsez=((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x)/n; returnz; } 三、 1. ①&n ②m%10 ③m/10 ④m! =0 ⑤r(m) 2. inta(intm,intn) { intz; if(n==0)z=n+1; if(m==0)z=a(m-1,1); elseif(n! =0)z=a(m-1,a(m,n-1)); returnz; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)