c上机答案.docx

上传人:b****6 文档编号:8210504 上传时间:2023-01-29 格式:DOCX 页数:17 大小:17.44KB
下载 相关 举报
c上机答案.docx_第1页
第1页 / 共17页
c上机答案.docx_第2页
第2页 / 共17页
c上机答案.docx_第3页
第3页 / 共17页
c上机答案.docx_第4页
第4页 / 共17页
c上机答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c上机答案.docx

《c上机答案.docx》由会员分享,可在线阅读,更多相关《c上机答案.docx(17页珍藏版)》请在冰豆网上搜索。

c上机答案.docx

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;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1