C语言程序设计(巨春飞)课后习题答案 北邮_第1页
C语言程序设计(巨春飞)课后习题答案 北邮_第2页
C语言程序设计(巨春飞)课后习题答案 北邮_第3页
C语言程序设计(巨春飞)课后习题答案 北邮_第4页
C语言程序设计(巨春飞)课后习题答案 北邮_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章同步训练

一、选择题

ACACDC

二、编程题

1.【参考答案】

#include<stdio.h>//标准输入/输出函数的头文件

intmain()//主函数

(

printf(”时间抓住了是黄金,抓不住是流水!\n“);//在屏幕上显示一句话

return0;//退出程序

)

■C:\Users\PC\Desktop\项目1.exe

时间抓住了是黄金,抓不住是流水!

Processexitedafter0.03958secondswithreturnvalue0

清按任意键继续...

2.【参考答案】

#include<stdio.h>

main()

inta,b,sum;

a=123;

b=100;

sum=a+b;

printf("sumis%d\n",sum);

)

in.cpp

#±nclude<s-tdio.h>

main()

B<

intsutrj

a-123j

b=10€i

surr=a+bj

prirrt'f("sumis%d\n**,surr)j

■"C:\Users\PC\Desktop\JSS1.exe

•223

m1s

it£0.02977secondswithret.i_urnvalue0

继

3.【参考答案】

#include<stdio.h>

intmain()

printf("************\n");

printf("VeryGood!\n");

printf("************\n");

return0;

}

I■C:\Users\PC\Desktop\35lH1.exe

************

VeryGood!

************

清Pro按ce任ss意e键xi继ted续.a.ft.er0.03047secondswith:retuzcnvalue0

4.【参考答案】

正确程序代码:

#include<stdio.h>

intmain()

(

inta=6;

intb=8,c;

c=a*b;

printf("%d",c);

return0;

)

I■v:\useri.exe

48

Processexitedafter0.02586secondswithreturnvalue0

请按任意键继续...

5.【参考答案】

正确程序代码:

#include<stdio.h>

intmain()

(

charc;

getchar();

printf("%c",c);

)

Processexitedafter1.779secondswithreturnvalue0

请按任意键继续..•

第二章同步训练

-、选择题

ACABCBBCADDDCCBABCAC

二、编程题

1.a.b

2.【参考答案】

#include<stdio.h>

intmainQ

(

intij;

printf("*\n");

printf("***\n");

printf("*****\n");

printf("*******\n");

return0;

)

■"C:\Users\PC\Documents\dengyaosanjiaoxing.exe

*

***

*****

*******

Processexitedafter0.3261secondswithreturnvalue0

请按任意键继续...

3.【参考答案】

调试程序:

#include<stdio.h>

main()

{

inta=6,b=8,c;

c=a*b;

printf("%d",c);}

运行结果:48

4.【参考答案】

#include<stdio.h>

mainQ

chara,b;

printf(“输入第一个字符:");

a=getchar();

printf(“用putchar函数输出为:");

putchar(a);

printf("\n");

printf(“输入第二个字符:

scanfCW.&b);

printfCW.b);

}

运行结果:

I■C:\Users\PC\De5ktop\项目1.exe

输入第一个宝瓦恋

角putchar匡嗷输出为:a

输入第二科符:b

Processexitedafter3.993secondswithreturnvalue0

请按任意键继续.•.

5.【参考答案】

#include<stdio.h>

intmain()

(

inta,b,c,max;

printf(“请输入三位数字:\n");

scanf("%d%d%d",&a,&b,&c);

if(a>b)

max=a;

elseif(b>c)

max二b;

else

max=c;

printf(”3个整数中的最大数是:%d",max);

return0;

)

运行结果:

■C:\Users\PC\Desktop\项目1.exe

请输入三位数字:

23453

3个整数中的最大数是:45

Processexitedafter5.634secondswithreturnvalue0

请按任意键继续.•.

第三章同步训练

-、选择题

BCCBDDCDDBAABBCBCC

二、编程题

1.【参考答案】

#include<stdio.h>

intmain()

(

charch;

while(scanf("%c",&ch)==l)

(

if(ch二二$)

(

putcharC'n);〃换行输出,力求区分输入数据

return1;

)

else

(

putchar(ch);

)

)

return0;

}

S3C:\Users\PC\Documents\zifuchuang.exe

vdiajkfgj$

vdiajkfgj

Processexitedafter32.88secondswithreturnvalue1

请按任意键继续・・・

2.【参考答案】

#include<stdio.h>

intmain()

(

inti,n;

doublesum=1;

scanf("%d",&n);

for(i=l;i<=n;i++)

sum=sum*i;

printf("%d!=%lf",n,sum);

printfC'Xn");

return0;

)

IS3C:\Users\PC\Documents\qiujiecheng.exe

8!=40320.000000

Processexitedafter4.677secondswithreturnvalue0

请按任意键继续..•

3.【参考答案】

#include<stdio.h>

voidfun(intn)

(

switch(n/10)

(

case1:

case2:

case3:

case4:

case5:printf("成绩不及格\n");break;

case6:printf(“成绩为D等\n");break;

case7:printf("成绩为C等\n");break;

case8:printf("成绩为B等\n");break;

case9:

case10:printf("成绩为A等\n“);break;

}

)

main()

(

intn;

scanf("%d",&n);

fun(n);

}

IEC:\Users\PC\Documents\qiujiecheng.exe

78

成绩为C等

Processexitedafter3.457secondswithreturnvalue0

请按任意键继续...

4.【参考答案】

#include<stdio.h>

main()

(

intyear,t,i;

for(i=0;i<2;i++)

scant("%d",&year);

t=year%12;

switch(t)

case0:

printf("猴)break;

case1:

printf(“鸡”);break;

case2:

printf(“狗)break;

case3:

printf(“猪)break;

case4:

printf(鼠)break;

case5:

printf(“牛’[break;

case6:

printf("虎”);break;

case7:

printf("兔'[break;

case8:

printf(“龙”);break;

case9:

printf(蛇)break;

case10:

printf("马'[break;

case11:

printfC单);break;

}}

return0;

)

|£3C:\Users\PC\Documents\panduanshuxiang.exe

259

Processexitedafter8.553secondswithreturnvalue0

请按任意键继续...

5.【参考答案】

#include<stdio.h>

intfact(intn)

(

if(n==0)

return1;

returnn*fact(n-1);

)

intmain(void)

(

printf("l!=%d\n",fact(l));

printf("3!二%d\n",fact⑶);

printf("5!=%d\n",fact(5));

printf("7!=%d\n",fact(7));

printf("9!二%d\n",fact(9));

printf("ll!=%d\n",fact(ll));

printf("13!=%d\n",fact(13));

return0;

}

EC:\Users\PC\Documents\jishuxiangjiecheng.exe

=1

|3!=6

5!=120

7!=5040

9!=362880

11!=39916800

13!=1932053504

Processexitedafter0.5617secondswithreturnvalue0

R按任意键继续.•.

第四章同步训练

-、选择题

CCBBCBCCDCDDDCD(D项改成s[0])BCCCB

二、编程题

1.23

2.

*****

3.【参考答案】

#include<stdio.h>

intmain()

{

inta[ll]={ll,131,6,48,34,30,7,35,60,18);

inti,j,k,p,t,x;

for(i=0;i<10;i++)

{

P=i;

for(j=i+l;j<10;j++)

if(aO]<a[p])

P=j;

if(p!=i)

{t=a[i];

a[i]=a[Pl;

a[p]=t;}

printf("%5d",a[i]);

}

printf("\n");

printf(“请输入一个数”);

scanf("%d",&x);

for(i=0;i<10;i++)

if(x<a[i])

{for(k=9;k>=i;k--)

a[k+l]=a[k];

break;}

a[i]=x;

for(i=0;i<=10;i++)

printf("%5d",a[i]);

printf("\n");

)

6711183034354860131

请输入一个数25

671118253034354860131

Processexitedafter3.03secondswithreturnvalue0

卜青按任意键继续..._

4.【参考答案】

#include<stdio.h>

intmain()

{

inta[][4]={{10,16,87,65},{14,32,11,108},{10,25,12,37}};

intb[3],i,j,max;

for(i=0;i<3;i++)

{max=a[i][0];

for(j=l;j<4;j++)

{if(a[i][j]>max)

max=a[i]D];

}

b[i]=max;

)

printf("二维数组是:\n");

for(i=0;i<3;i++)

{

forG=0;j<4;j++)

printf("%5d",a[i]0]);

printf("\n");

)

printf(”输出的一维数组是:\n");

for(i=0;i<=2;i++)

printf("%5d",b[i]);

printf("\n");

)

■_C:\Users\Lenovo\Desktop\lSBl.exe

二维数组是:

10168765

143211108

10251237

输出的一维数组是:

8710837

Processexitedafter0.01964secondswithreturnvalue0

请按任意键继续...

5.【参考答案】

#include<stdio.h>

intmain()

(

intdata[13][13];

inti=0;

intj=0;

for(i=0;i<13;i++)

{

for(j=0;j<13;j++)

{data[i]D]=1;}

)

for(i=1;i<13;i++)

(

for0=1;j<i;j++)

(

data[i][j]=data[i-l][j]+data[i-l][j-1];

)

)

for(i=0;i<13;i++)

{

for(intk=0;k<35-(6*i/2);k++)

{printf("");}

for(j=0;j<=i;j++)

(

printf("%6d",data[i][j]);

}

printf("\n");

}

return0;

第五章同步训练

-、选择题

AAADBDBADCCABBACCBAC

二、编程题

1.x<=yz=z*x

2.<stdio.h>strlen(str)-lj--

3.【参考答案】

#include<stdio.h>

intmain()

(

inta,b,c;

intsort(inta,intbjntc);

printf(“请输入3个整数

scanf("%d%d%d",&a,&b,&c);

sort(a,b,c);

return0;

)

intsort(inta,intbjntc)

(

intt;

if(a>b)

(

t=a,a=b,b=t;

)

if(a>c)

(

t=a,a=c,c=t;

)

if(b>c)

{

t二b,b=c,c=t;

}

printf("%d%d%d\n"ab,c);

}

■C:\Users\Lenovo\Desktop\J®01.exe

请输入3个整数3152

2315

Processexitedafter9.299secondswithreturnvalue0

请按任意键继续...■

4.【参考答案】

#include<stdio.h>

intmain()

(

doubles=0;

inti,n,m;

doublefact(inta);

printf(“请输入2个正整数:");

scanf("%d%d,,,&n,&m);

s=fact(m)+fact(n);

printf("%f\n",s);

return0;

)

doublefact(inta)

(

doublef;

if(a==0||a==l)

return1;

else

f=fact(a-l)*a;

returnf;

)

C:\Users\Lenovo\Desktop\项目1.exe

请输入2个正整数:56

840.000000

Processexitedafter2.665secondswithreturnvalue0

恰按任意键继续..._

5.【参考答案】

#include<stdio.h>

intAgenumber(intn)

(

if(n==l)

return10;

else

return(Agenumber(n-l))+2;

)

intmain()

printf(“第5个人的年龄是%d岁”,Agenumber(5));

return0;

)

■;C:\Users\Lenovo\Desktop\J51sI.exe

第5个人的年龄是18岁

Processexitedafter0.09018secondswithreturnvalue0

请按任意键继续.••・

第六章指针同步训练

一、选择题

BCCADADACCDABDADBCCB

二、编程题

1.*k=p

2.tfosorciMThe

3.【参考答案】

#include"stdio.h"

main()

{intupper=0Jower=0/digit=0zspace=0/other=0J=0;

char*p,s[80];

printf("\n请输入一串字符:");

while((s[i]=getchar())!='\n')i++;

p=s;

while(*p!=,\n,)

{if('A'<=*p&&*p<='Z')++upper;

elseif('a'<=*p&&*p<='z')++lower;

elseif('0'<=*p&&*p<=,9,)++digit;

elseif(*p==32)++space;

elseother++;

P++;}

printf("\n输入的字符串中:大写字母有%d个,小写字母有%d个。:upper,lower);

printf("\n数字有%d个,空格有%d个,其它有%d个。\n”,digit,space,other);

4.【参考答案】

include"stdio.h"

intslength(char*s)

{intn=0;

while(*(s+n)!='\0')n++;

returnn;

)

main()

{charstr[]="abcdefgh";

intlen=slength(str);

printf("\n字符串长度是:%d\n",len);

)

5.【参考答案】

#include"stdio.h"

main()

{char*ps="xijingdaxue";

intflag=0;

while(*ps!='\0')

{if(*ps==,d')

{flag=l;break;}

elseps++;}

if(flag)printf("\n字符串中存在字符d!\n");

elseprintfC\n字符串中不存在字符d!\n");

)

第七章结构体和共用体同步训练

一、选择题

ACDDDBBCBDABADA

二、编程题

1.6

2.4,8

3.【参考答案】

ttinclude<stdio.h>

structstudent

(

intnum;

charname[20];

floatscore[3];

floatave;

}stu[10];

intmain()

(

voidinput(structstudentstul口);

voidave_score(structstudentstul[]);

voidmax_score(structstudentstul[]);

input(stu);

ave_score(stu);

max_score(stu);

return0;

)

voidinput(structstudentstul[])

(

inti;

printf(〃请输入10个学生的学号、姓名、3门课程成绩:\n〃);

for(i=0;i<10;i++)

(

scanf&stul[i].num,&stul[i].name,&stul[i].scor

e[0],&stul[i].score[l],&stul[i].score[2]);

stul[i].ave=(stul[i].score[0]+stul[i].score[l]+stul[i].scor

e[2])/3.0;

printf('\n");

voidave_score(structstudentstul[])

(

inti;

floatsum=0;

for(i=0;i<10;i++)

sum+=stul[i].ave;

printf("3门课程总平均成绩为lf\n”,sum/10.0);

)

voidmax_score(structstudentstul[])

(

inti,k=0;

for(i=l;i<10;i++)

(

if(stul[k].ave<stul[i].ave)k=i;

}

printfC\n分数最高的学生信息为:\n〃);

printf("学号:%d\n,/,stul[k].num);

printf("姓名:%s\n”,stul[k].name);

printf("课程1成绩:%.stul[k].score[0]);

printf("课程2成绩:%.lf\n",stul[k].score[1]);

printf("课程3成绩:%.lf\n",stul[k].score[2]);

printf(z,3门课程平均成绩:%.If\n,z,stul[k].ave);

)

4.【参考答案】

ttinclude<stdio.h>

ftinclude<stdlib.h>

ftdefineN10

structstuff

intnum;

charname[20];

charsex;

intage;

intwork_age;

floatwage;

charadd[30];

);

voidinput(structstuff*,int);

voidoutput(structstuff*,int);

voidmain()

(

structstuffst[N];

input(st,N);

output(st,N);

}

voidinput(structstuff*s,intn)

(

inti;

for(i=0;i<n;i++)

(

system("cis");

printf("请输入第%d个记录\n”,i+1);

printf("编号:”);

scanf&s[i].num);

printf("名字:”);

scanfs[i].name);

printf("性别:”);

getchar();

scanf&s[i].sex);

printf("年龄:”);

scanf&s[i].age);

printf("工龄:");

scanf&s[i].work_age);

printf("工资:”);

scanf&s[i].wage);

printf("地址:”);

scanf('%s",s[i].add);

)

voidoutput(structstuff*s,intn)

(

inti;

printf(〃编号\t名字\t性别\t年龄\t工龄\t工资\t地址\n");

printf("-----------------------------------------------------------

-\n");

for(i=0;i<n;i++)

(

printf(,,%d\t%s\t%c\t%d\t%d\t%f\t%s\nz/,

s[i].num,s[i].name,s[i].sex,s[i].age,s[i].work_age,s[i].wag

e,s[i].add);

)

)

5.【参考答案】

#include<stdio.h>

structstuinfo

(

charstu_num[6];

charname[8];

intscore[3];

intavr;

};

intmain()

(

stuinfos[10];

inti;

for(i=0;i<10;i++)

(

scanfs[i].stunum);

scanfs[i].name);

scanf("%d”,&s[i].score[0]);

scanf&s[i].score[1]);

scanf("%d”,&s[i].score[2]);

s[i].avr=(s[i].score[0]+s[i].score[l]+s[i].score[2])/3;

}

printf(//stu_num%s\n/,,s[5].stunum);

printf(/,name%s\n,/,s[5].name);

printf("scorel:%d\n”,s[5].score[0]);

printf(,,score2:%d\n,z,s[5].score[11);

printf(,,score3:%d\n/,,s[5].score[2]);

printf(z/avr:%d\nz/,s[5].avr);

}

第八章文件同步训练

一、选择题

CACBABBCDDBBAACDACBD

二、编程题

1.【参考答案】

*fpl,*fp2;

rewind(fpl);

fgetc(fpl),fp2

2.【参考答案】

*fp

fp,sizeof(stud[0]*i,0)

&stud[i]

3.【参考答案】

ttinclude<stdio.h>

intmain(){

inta;//鸡翁

intb;//鸡母

intc;//鸡雏

FILE*fp;

if((fp=fopen("check,dat","w"))==NULL)

printf("该文件打开失败!”);

exit(0);

)

for(a=1;a<=100/5;++a){

b=(100-5*a)/3;

c=3*(100-5*a-3*b);

if(5*a+3*b+c/3==100)

,,

printf("鸡翁:%2d,鸡母:%2d,鸡雏:%2d\n,a,b,c);

printf(fp,“鸡翁:%2d,鸡母:%2d,鸡雏:%2d\n”,a,b,c);

}

return0;

}

4.【参考答案】

ftinclude<stdio.h>

ttinclude<stdlib.h>

ttdefineSIZE5

intmain0

(

FILE*fp;

inti;

structstudent

(

intnum;

charname[20];

floatscorel;

floatscore2;

floatscore3;

floatave;

}stu[SIZE];

printf(〃请依次输入5个学生的学号、姓名、三门课程成绩:

\n〃);

for(i=0;i<SIZE;i++)

,/,,

scanf(%d%s%f%f%f)&stu[i].num,stu[i].name,&stu[i].scorel,&

stu[i].score2,&stu[i].score3);

stu[i].ave=(stu[i].scorel+stu[i].score2+stu[i].score3)/3.0;

)

if((fp=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论