收藏 分销(赏)

C语言程序设计课后习题答案吉林大学版武爱平.doc

上传人:快乐****生活 文档编号:3057985 上传时间:2024-06-14 格式:DOC 页数:33 大小:87.50KB
下载 相关 举报
C语言程序设计课后习题答案吉林大学版武爱平.doc_第1页
第1页 / 共33页
C语言程序设计课后习题答案吉林大学版武爱平.doc_第2页
第2页 / 共33页
C语言程序设计课后习题答案吉林大学版武爱平.doc_第3页
第3页 / 共33页
C语言程序设计课后习题答案吉林大学版武爱平.doc_第4页
第4页 / 共33页
C语言程序设计课后习题答案吉林大学版武爱平.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、第一章1选择题(1)B(2)C(3)C(4)D(5)B(6)D(7)D(8)C 2填空题(1)函数一个主函数函数(2)/*/(3)连接3程序设计题(1) #includemain() printf( *n); printf(* S *n); printf( *n);(2) #includemain() printf(*n); printf(Your are welcome!n); printf(-n);第二章1.选择题(1)D(2)D(3)B(4)C(5)B(6)C(7)C(8)C(9)D(10)C(11)A(12)B(13)A(14)C(15)A(16)B(17)A(18)B(19)C(20

2、)A(21)C(22)C2填空题(1) 9 -2 62 44.8 (2) 10.5 73.1 7 7.2 (3)%6x %o%3c%10.3f%8s (4)int a,b,c; &a,&b,&c temp=a; c=temp;(5)49 613113.程序设计题(1) #includemain()double a,b,c,d;double aver=0.0;printf(nPlease input four double number:);scanf(%lf%lf%lf%lf,&a,&b,&c,&d);aver=(a+b+c+d)/4;printf(nThe average of the fo

3、ur double number is %lf,aver); (2) #include#define PI 3.14159main()double r;double area=0,len=0;printf(nPlease input r:);scanf(%lf,&r);area=PI*r*r;len=2*PI*r;printf(n area=%lf,length=%lf,area,len);(3)#includemain()float i,s;printf(nPlease input data:);scanf(%f%f,&i,&s);s=s*(1+i);printf(nI have %.2f

4、yuan after one year.,s);第三章1、选择题(1)C(2)C(3)A(4)C(5)D(6)A(7)C(8)A(9)B(10)D2、填空题(1)&m,&n m=n; n=temp;m,n(2) 5 5 4 5 5 4 3 3 4(3)9 i+1%d,i printf(n);(4)73-543932013、程序设计题(1)#include#includemain() double a,b,c,d,det,a_2,real,imag,x1,x2; printf(Please enter a,b,c:); scanf(%lf%lf%lf,&a,&b,&c); if(a=0&b=0)

5、 printf(No root!n); else if(a=0) printf(Line equation root is %.2lfn,-c/b); else d=b*b-4*a*c; det=sqrt(fabs(d); a_2=2*a; if(d0) real=-b/a_2; imag=det/a_2; printf(The two root are:n%.2lf+%.2lfin,real,imag); printf(andn%.2lf-%.2lfin,real,imag); else if(d=0) printf(Single real root is %.2lf:n,-b/a_2);

6、else x1=-b/(a_2)+det/a_2; x2=-b/(a_2)+det/a_2; printf(The two real roots are :n%.2lfn andn %.2lfn,x1,x2); (2) #includemain() int i,j; for(i=1;i=9;i+) for(j=1;j=9;j+) printf(%d*%d=%2d,i,j,i*j); printf(n); (3)#includemain() float sum,product; int i,n,j; printf(nEnter n(4=n20|n4) printf(nEnter n again:

7、); scanf(%d,&n); sum=0; product=1; for(i=1;i=n;i+) product=1; for(j=1;j=i;j+) product=product*j; sum=sum+product; printf(1!+2!+.+%d!=%.0fn,n,sum); 第四章1、选择题(1)C(2)D(3)B(4)D(5)C(6)B(7)B(8)C(9)A(10)C(11)C(12)B2、填空题(1) int men10 ; float step4=1.9,-2.33,0,20.6; _int grid410 ;(2) int m10=9,4,7,49,32,-5; 0

8、 9 scanf(%d,m1); m0 =39; m0 =a3+a5;(3)3 5 8 8 9 12 9(4) int a10=9,4,12,8,2,10,7,5,1,3; 09 8 8(5)103、程序填空题(1) array20 20 &arrayi 20 max=arrayi; min=arrayi; sum+arrayi; sum/20(2) -5.770000 2 1(3) ABCDEFGHIJKL EFGHIJKL ABFDEFGHIJKL ABFDEFGHI4、程序设计题(1)#define SIZE 100#includevoid main() int aSIZE+1,i,j;

9、 for(i=2;i=100;i+) ai=i; for(i=2;i=100;i+) for(j=i+1;j=100;j+) if(ai!=0&aj%ai=0) aj=0; printf(n); j=0; for(i=2;i=100;i+) if(ai!=0) printf(%-4d,ai); j+; if(j=10) j=0; printf(n); (2)#define S 14#includestdio.hvoid main() int aSS,i,j,n; printf(please enter n:); scanf(%d,&n); for(i=1;i=n;i+) aii=1; ai1=

10、1; for(i=3;i=n;i+) for(j=2;ji;j+) aij=ai-1j-1+ai-1j; for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(j=1;j=i;j+) printf( %3d,aij); printf(n); (3)#define SIZE 80#includevoid main() char str1SIZE+SIZE,str2SIZE; int i,j; puts(Please enter 2 string:); scanf(%s,str1); scanf(%s,str2); i=0; while(str1i!=0

11、) i+; j=0; while(str2j!=0) str1i=str2j; i+; j+; str1i=0; printf(%sn,str1);(4)#define SIZE 80#include#includevoid main() char stringSIZE; int len,i,j,flag; long number; puts(Please enter a digital string:); scanf(%s,string); len=strlen(string); if(string0=-) flag=-1; i=1; else flag=1; i=0; number=str

12、ingi-0; for(i+;ilen;i+) number=number*10+(stringi-0); number=flag*number; printf(%dn,number);(5)#define SIZE 40#includevoid main() int m,n,i,j; float priceSIZE,sum; printf(nPlease input M and N:); scanf(%d%d,&m,&n); m=m-n; printf(Please input %d price :,n); sum=0; for(i=0;i0) for(i=0;in-1;i+) pricei

13、=pricei+1; printf(nPlease input one price:); scanf(%f,&pricen-1); m-; sum=0; for(i=0;in;i+) sum=sum+pricei; printf(Aber are %10.2f,sum/n); 第五章1.选择题(1)C(2)D(3)C(4)B(5)A(6)A(7)A(8)B(9)A(10)B(11)A(12)A2.填空题(1)整型(2)值传递 地址传递(3)全局变量 局部变量(4)自动变量 静态变量 寄存器变量 外部变量(5)自动变量(6)15 300(7)8 121(8)x=3,y=4,n=7(9)563.程

14、序设计题(1)#includeint gcd_recursion(int a,int b);void main()int i,j;puts(nPlease enter 2 integer);scanf(%d,%d,&i,&j);if(i0|j0) puts(nData Error!Please enter 2 integer); scanf(%d, %d,&i,&j);elseprintf(gcd(%d,%d)=%d,i,j,gcd_recursion(i,j);int gcd_recursion(int a,int b) int c,d; if(ab) c=a; a=b; b=c; if(a

15、%b=0) return b; else d=gcd_recursion(b,a%b); else if(a%b=0) return b; else d=gcd_recursion(b,a%b); return d;(2)#includeint delete_char(char c,char str);void main()char str10,c,i; puts(nPlease enter a string:); gets(str); puts(Please enter a char you want to delete:); c=getchar(); puts(Before deleted

16、:); puts(str);puts(After deleted:);i=delete_char(c,str);puts(str);printf(There are %d characters deleted.,i);int delete_char(char c,char str) int i,j,total,k,sum; i=0; total=0; while(stri!=0) k=i; sum=0; while(strk=c) k+; sum+; total=total+sum; if(stri=c) for(j=i;strj+sum!=0;j+) strj=strj+sum; strj=

17、0; i+; return total; (3) #include int max(int a,int b);void main() int i,j,k; puts(nPlease enter 3 integer:); scanf(%d,%d,%d,&i,&j,&k); printf(max is %d.,max(max(i,j),k);int max(int a,int b) if(ab) return a; else return b;(4) #includevoid int_string(long a,char str);void reverse(char c,int size);voi

18、d insert_space(char c,int size);void main() long i; char str110; puts(nPlease enter 1 long interger:); scanf(%d,&i); int_string(i,str1); printf(digital string is %s,str1);void int_string(long a,char str) int i=0; while(a!=0) stri=a%10+0; a=a/10; i+; stri=0; insert_space(str,i);void insert_space(char

19、 c,int size) int i; c2*size-1=0; for(i=2*(size-1);i=2;i-=2) ci=ci/2; ci-1= ; (5)#includelong facto(long x);main() int a; long factorial; printf(nPlease enter a integer:); scanf(%d,&a); factorial=facto(a); printf(nThe %ds jieceng is :%ldn,a,factorial);long facto(long x) if(x=1) return 1; else return(

20、x*facto(x-1);(6)#includefloat average(float math,float chinese,float english);main() float score3; float aver; printf(Please enter your score:math,chinese,englishn); scanf(%f,%f,%f,&score0,&score1,&score2); aver=average(score0,score1,score2); printf(Your average is %.2fn,aver);float average(float ma

21、th,float chinese,float english) return(math+chinese+english)/3;(7)#includefloat max=0,min=0;float average(float arr,int n) int i; float aver,sum=arr0; max=min=arr0; for(i=1;imax) max=arri; else if (arrimin) min=arri; sum=sum+arri; aver=sum/n; return(aver);main() float score10, aver; int i; printf(Pl

22、ease enter ten score:); for(i=0;i10;i+) scanf(%f,&scorei); aver=average(score,10); printf(max=%.2fnmin=%.2fnaverage=%.2fn,max,min,aver);(8)#includeint fib(int n) if(n=1|n=2) return 1; else return(fib(n-1)+fib(n-2);void main() int i; printf(n); for(i=1;i20;i+) printf(%-12d,fib(i); if(i%5=0) printf(n)

23、; 第六章1、选择题(1)A(2)C(3)A(4)B(5)B(6)D(7)D(8)B(9)D(10)B2、填空题(1)a=10,b=20a=20,b=10(2)*pp=603、程序设计题(1)#includechar *month_name(int n);void main() int n; printf(nPlease enter 1 integer:); scanf(%d,&n); printf(%d month :%sn,n,month_name(n);char *month_name(int n)static char*name=illegal month, Jan,Feb,Mar,A

24、pr,May,Jun,July,Aug,Sept,Oct,Nov,Dec; return (n12)?name0:namen);(2)#include#define N 10sort(int data) int i,j,min_a,temp; for(i=0;iN;i+) min_a=i; for(j=i+1;jN;j+) if(*(data+j)*(data+min_a) min_a=j; if(min_a!=i) temp=*(data+min_a); *(data+min_a)=*(data+i); *(data+i)=temp; main() int i,j,dataN,temp; i

25、nt min_a; printf(nPlease input %d int:n,N); for(i=0;iN;i+) scanf(%d,&datai); sort(data); printf(After sorted:n); for(i=0;iN;i+) printf( %d,datai);(3)#include void reverse(char *c);void main() char str80; puts(Please enter 1 stringn); gets(str); reverse(str) ; puts(After reversedn); puts(str); void r

26、everse(char *c) char *p,*q,temp; int size=0; for(p=c;*p!=0;p+) size+; size=size/2; for(q=c,p-;qc+size;q+,p-) temp=*q; *q=*p; *p=temp; (4)#include#includevoid sort(char *keyword,int size);void print(char *keyword,int size)void main() char *keyword=if,else,case,switch,do,whlie,for,break,continue; sort

27、(keyword,9); print(keyword,9);void sort(char *keyword,int size) int i,j,min_location; char *temp; for(i=0;isize-1;i+) min_location=i; for(j=i+1;j0) min_location=j; if(min_location!=i) temp=keywordi; keywordi=keywordmin_location; keywordmin_location=temp; void print(char *keyword,int size) int i; for

28、(i=0;isize;i+) printf(n%s,*(keyword+i);(5)#includevoid fun_char(char str1,char str2,char str3);void main() char str180,str280,str380,c,i; printf(nPlease enter 2 string:); scanf(%s%s,str1,str2); fun_char(str1,str2,str3); printf(Third string is %s.,str3);void fun_char(char *str1,char *str2,char *str3)

29、 int i,j,k,flag; i=0,k=0; while(*(str1+i)!=0) j=0; flag=1; while(*(str2+j)!=0&flag=1) if(*(str2+j)=*(str1+i) flag=0; j+; if(flag) *(str3+k)=*(str1+i); k+; i+; *(str3+k)=0;(6)#includeint count_word(char *str);void main() char str180,c,res; puts(nPlease enter a string:); gets(str1); printf(There are %

30、d words in this sentence,count_word(str1);int count_word(char *str) int count ,flag; char *p; count=0; flag=0; p=str; while(*p!=0) if(*p= ) flag=0; else if(flag=0) flag=1; count+; p+; return count;(7)#include#includechar *encrypt(char *string);char *decrypt(char *string);main() char item80; char *po

31、int; char *pEncrypted; char *pDecrype; printf(Please enter the string need to encrypt:n); gets(item); point=item; pEncrypted=encrypt(point); printf(nThe string after encrypted is:n%sn,pEncrypted); pDecrype=decrypt(pEncrypted); printf(nThe string after decrypted is:n%sn,pDecrype); free(pEncrypted); f

32、ree(pDecrype);char *encrypt(char *string) char *q,*t; q=(char *)malloc(sizeof(char)*80); if(!q) printf(No place to malloc!); return 0; t=q; while(*string!=0) *q=*string-2; string+; q+; *q=0; return t;char *decrypt(char *string) char *q,*t; q=(char *)malloc(sizeof(char)*80); if(!q) printf(No place to malloc!); return 0; t=q; while(*string!=0) *q=*string+2; string+; q+; *q=0; return t; 第七章1、选择题(1)D(2)D(3)D(4)C(5)D(6)C(7)C(8)B(9)C(10)C(11)B(12)C(13)B(14)A(15)A(16)C2、程序分析题(1) Ling ning:19

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服