ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:96KB ,
资源ID:4208307      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-4208307.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课后习题解答.doc)为本站会员(坚持)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C语言课后习题解答.doc

1、第七章 函数调用 7-1 写两个函数,分别求两个整数的最大公约数和最小公倍数, #include void main() int hcf(int,int); int lcd(int,int,int); int u,v,h,l; scanf(“%d,%d“, h=hcf(u,v); printf(“H.C.F=%dn“,h); l=lcd(u,v,h); printf(“L.C.D=%dn“,l); int hcf(int u,int v) int t,r; if (vu) t=u; u=v; v=t; while (r=u%v)!=0) u=v; v=r; return(v); int lcd

2、(int u,int v,int h) return(u*v/h); 7-2 求方程 ax*x+bx+c=0 的根,用 3 个函数分别求当 b*b-4ac 大于 0,等于 0、小于 0 时的根并输出结果。从主函数输入 abc 的值。 #include #include float x1,x2,disc,p,q; void main() void greater_than_zero(float,float); void equal_to_zero(float,float); void smaller_than_zero(float,float); float a,b,c; printf(“inp

3、ut a,b,c:“); scanf(“%f,%f,%f“, printf(“equation: %5.2f*x*x+%5.2f*x+%5.2f=0n“,a,b,c); disc=b*b-4*a*c; printf(“root:n“); if (disc0) greater_than_zero(a,b); printf(“x1=%fttx2=%fn“,x1,x2); else if (disc=0) equal_to_zero(a,b); printf(“x1=%fttx2=%fn“,x1,x2); else smaller_than_zero(a,b); printf(“x1=%f+%fit

4、x2=%f-%fin“,p,q,p,q); void greater_than_zero(float a,float b) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); void equal_to_zero(float a,float b) x1=x2=(-b)/(2*a); void smaller_than_zero(float a,float b) p=-b/(2*a); q=sqrt(-disc)/(2*a); 7-3 写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。 #include void main() int

5、 prime(int); int n; printf(“ninput an integer:“); scanf(“%d“, if (prime(n) printf(“n %d is a prime.n“,n); else printf(“n %d is not a prime.n“,n); int prime(int n) int flag=1,i; for (i=2;i*p2) swap(p1,p2); if(*p1*p3) swap(p1,p3); if(*p2*p3) swap(p2,p3); printf(“%d,%d,%dn“,a,b,c); void swap(int*p1,int

6、*p2) int p; p=*p1;*p1=*p2;*p2=p; 8-2 输入 3 个整数按有小到大的顺序输出。 #include #include void main() void swap(char *,char *); char str120,str220,str320; printf(“input three line:n“); gets(str1); gets(str2); gets(str3); if(strcmp(str1,str2)0) swap(str1,str2); if(strcmp(str1,str3)0) swap(str1,str3); if(strcmp(str2

7、,str3)0) swap(str2,str3); printf(“Now,the order is:n“); printf(“%sn%sn%sn“,str1,str2,str3); void swap(char *p1,char *p2) char p20; strcpy(p,p1); strcpy(p1,p2); strcpy(p2,p); 8-3 输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一 个数对换。写 3 个函数:1 输入 10 个数;2 进行处理;3 输出 10 个数 #include void main() void input(int *); void

8、max_min_value(int *); void output(int *); int number10; input(number); max_min_value(number); output(number); void input(int *number) int i; printf(“input 10 numbers:“); for (i=0;i10;i+) scanf(“%d“, void max_min_value(int *number) int *max,*min,*p,temp; max=min=number; for (p=number+1;p*max) max=p;

9、else if (*p*min) min=p; temp=number0; number0=*min; *min=temp; if(max=number) max=min; temp=number9; number9=*max; *max=temp; void output(int *number) int *p; printf(“Now,they are: “); for (p=number;pnumber+10;p+) printf(“%d “,*p); printf(“n“); 8-7 有一个字符窜,包含 n 个字符。写一个函数,将此字符窜中从 m 个字符 开始的全部字符复制成为另一个字

10、符窜。 #include #include void main() void copystr(char *,char *,int); int m; char str120,str220; printf(“input string:“); gets(str1); printf(“which character that begin to copy?“); scanf(“%d“, if (strlen(str1)m) printf(“input error!“); else copystr(str1,str2,m); printf(“result:%sn“,str2); void copystr(

11、char *p1,char *p2,int m) int n; n=0; while (nm-1) n+; p1+; while (*p1!=0) *p2=*p1; p1+; p2+; *p2=0; 8-9 写一个函数,使给定的一个 3x3 的二维整形数组转置,即行列转换。 #include void main() void move(int *pointer); int a33,*p,i; printf(“input matrix:n“); for (i=0;i3;i+) scanf(“%d %d %d“, p= move(p); printf(“Now,matrix:n“); for (i

12、=0;i3;i+) printf(“%d %d %dn“,ai0,ai1,ai2); void move(int *pointer) int i,j,t; for (i=0;i3;i+) for (j=i;j3;j+) t=*(pointer+3*i+j); *(pointer+3*i+j)=*(pointer+3*j+i); *(pointer+3*j+i)=t; 8-13 将 n 个数按输入顺序的逆序排列,用函数实现。 #include void main() void sort (char *p,int m); int i,n; char *p,num20; printf(“input

13、n:“); scanf(“%d“, printf(“please input these numbers:n“); for (i=0;in;i+) scanf(“%d“, p= sort(p,n); printf(“Now,the sequence is:n“); for (i=0;in;i+) printf(“%d “,numi); printf(“n“); void sort (char *p,int m) int i; char temp, *p1,*p2; for (i=0;im/2;i+) p1=p+i; p2=p+(m-1-i); temp=*p1; *p1=*p2; *p2=te

14、mp; 第九章 用户建立的数据类型 9-1 定义一个结构体变量(包扩年、月、日) 。计算该日在本年中的第几天, 注意闰年问题。 #include struct int year; int month; int day; date; void main() int days; printf(“input year,month,day:“); scanf(“%d,%d,%d“, switch(date.month) case 1: days=date.day; break; case 2: days=date.day+31; break; case 3: days=date.day+59; bre

15、ak; case 4: days=date.day+90; break; case 5: days=date.day+120; break; case 6: days=date.day+151; break; case 7: days=date.day+181; break; case 8: days=date.day+212; break; case 9: days=date.day+243; break; case 10: days=date.day+273; break; case 11: days=date.day+304; break; case 12: days=date.day+

16、334; break; if (date.year %4= 0 printf(“%d/%d is the %dth day in %d.n“,date.month,date.day,days,date.year); 9-2 写一个函数 days,实现第一题的计算,由主函数将年、月、日传递给 days 函数,计算后将日子数传回主函数输出。 clude struct int year; int month; int day; date; void main() int i,days; int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31; prin

17、tf(“input year,month,day:“); scanf(“%d,%d,%d“, days=0; for(i=1;i=3) days=days+1; printf(“%d/%d is the %dth day in %d.n“,date.month,date.day,days,date.year); 9-3 编写一个函数 print,打印一个学生的成绩数组,该数组中有 5 个学生的 数据记录,每个记录包括 num.name,score3,用主函数输入这些记录,用 print 函数输出这些记录。 #include #define N 5 struct student char num

18、6; char name8; int score4; stuN; void main() void print(struct student stu6); int i,j; for (i=0;iN;i+) printf(“ninput score of student %d:n“,i+1); printf(“NO.: “); scanf(“%s“,stui.num); printf(“name: “); scanf(“%s“,stui.name); for (j=0;j3;j+) printf(“score %d:“,j+1); scanf(“%d“, printf(“n“); print(s

19、tu); void print(struct student stu6) int i,j; printf(“n NO. name score1 score2 score3n“); for (i=0;iN;i+) printf(“%5s%10s“,stui.num,stui.name); for (j=0;j3;j+) printf(“%9d“,stui.scorej); printf(“n“); 9-4 在第 3 题的基础上,编写一个函数 input,用来输入 5 个学生的数据记录。 #include #define N 5 struct student char num6; char nam

20、e8; int score4; stuN; void main() void input(struct student stu); void print(struct student stu); input(stu); print(stu); void input(struct student stu) int i,j; for (i=0;iN;i+) printf(“input scores of student %d:n“,i+1); printf(“NO.: “); scanf(“%s“,stui.num); printf(“name: “); scanf(“%s“,stui.name)

21、; for (j=0;j3;j+) printf(“score %d:“,j+1); scanf(“%d“, printf(“n“); void print(struct student stu6) int i,j; printf(“n NO. name score1 score2 score3n“); for (i=0;iN;i+) printf(“%5s%10s“,stui.num,stui.name); for (j=0;j3;j+) printf(“%9d“,stui.scorej); printf(“n“); 9-5 有 10 个学生,每个学生的数据包括学号、姓名、3 门课程的成绩,

22、从键 盘输入 10 个学生数据,要求输出 3 门课程总成绩,以及最高分的学生数 据(包括学号、姓名、3 门课程成绩、平均分数) #include #define N 10 struct student char num6; char name8; float score3; float avr; stuN; void main() int i,j,maxi; float sum,max,average; for (i=0;iN;i+) printf(“input scores of student %d:n“,i+1); printf(“NO.:“); scanf(“%s“,stui.num)

23、; printf(“name:“); scanf(“%s“,stui.name); for (j=0;j3;j+) printf(“score %d:“,j+1); scanf(“%f“, average=0; max=0; maxi=0; for (i=0;iN;i+) sum=0; for (j=0;jmax) max=sum; maxi=i; average/=N; printf(“ NO. name score1 score2 score3 averagen“); for (i=0;iN;i+) printf(“%5s%10s“,stui.num,stui.name); for (j=0;j3;j+) printf(“%9.2f“,stui.scorej); printf(“ %8.2fn“,stui.avr); printf(“average=%5.2fn“,average); printf(“The highest score is : student %s,%sn“,stumaxi.num,stumaxi.name); printf(“his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.n“, stumaxi.score0,stumaxi.score1,stumaxi.score2,stumaxi.avr);

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。