C语言程序设计课后习题答案------吉林大学版--------武爱平(共33页)

上传人:b410****zcfj 文档编号:47019646 上传时间:2021-12-16 格式:DOC 页数:33 大小:88.50KB
返回 下载 相关 举报
C语言程序设计课后习题答案------吉林大学版--------武爱平(共33页)_第1页
第1页 / 共33页
C语言程序设计课后习题答案------吉林大学版--------武爱平(共33页)_第2页
第2页 / 共33页
C语言程序设计课后习题答案------吉林大学版--------武爱平(共33页)_第3页
第3页 / 共33页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上第一章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)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 four 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 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) 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); 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:); 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 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. 2 1(3) ABCDEFGHIJKL EFGHIJKL ABFDEFGHIJKL ABFDEFGHI4、程序设计题(1)#define SIZE 100#includevoid main() int aSIZE+1,i,j; 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=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) 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=stringi-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=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.程序设计题(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%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:); 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=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);void 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 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(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 math,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(Please 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); 第六章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,Apr,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; int 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 reverse(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(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(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) 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 %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 *point; 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); free(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:19Langping:21Zhu jian hua:20(2) 2,65,A(3)1,2(4) 3.50(5)audition time is 08:30:00 (6)99 Xiaowang 90 873、程序设计题(1)#includestruct date int day; int month; int year;main() int i,flag,dayth,day71; struct date d1; int month_day=0,31,28,31,30,31,30,31,31,30,31,30,31; day71=1; for(i=1;i7;i+) day71=day71+month_dayi; puts(nPlease enter year/month/day:); scanf(%d/%d/%d,&d1.year,&d1.month,&d1.day); dayth=d1.day; for(i=1;id1.month;i+) dayth=dayth+month_dayi; printf(%d daysn,day71-dayth);(2)#includemain() enum color red,yellow,blue,white,black ; enum color i,j,k,pri; int n,loop; n=0; for(i=red;i=black;i+) for(j=red;j=black;j+) if(i!=j) for(k=red;k=black;k+) if(k!=i)&(k!=j) n=n+1; printf(%-4d,n); for(loop=1;loop=3;loop+) switch(loop) case 1:pri=i;break; case 2:pri=j;break; case 3:pri=k;break; default: break; switch(pri) case red:printf(%-10s,red);break; case yellow: printf(%-10s,yellow);break; case blue: printf(%-10s,blue);break; case white: printf(%-10s,white);break; case black: printf(%-10s,black);break; default: break; printf(n); printf(ntotal:%5dn,n);(3)#include#define SIZE 5main() struct staff char name20; int salary; int age; attendSIZE; struct staff *ap; putchar(n); for(ap=attend;apname,&(ap-salary),&(ap-age); for(ap=attend;apage+; ap-salary*=(1+0.3); for(ap=attend;apname),(ap-salary),(ap-age);第八章1、选择题(1)A(2)D(3)B(4)A(5)D(6)B(7)B(8)C(9)B(10)B(11)C2、填空题(1)#include(2)#define(3)3 5 5(4) a=4,b=13a=13,b=4(5)10(6)16(7)1000 10(8)10(9)the max value is 2(10)23、程序设计题(1)#define LETTER 1main() int i; char c; char str80; printf(Please enter a string:); scanf(%s,str); i=0; while(c=stri)!=0) i+; #ifdef LETTER if(c=a&c=A&c=Z) c=c+32; #endif printf(%c,c); printf(%d,(int)c); (2)#include#include d:.c#include d:.c#include d:.cint fmax(int x,int y,int z);int fmin(int x,int y,int z);int faver(int x,int y,int z);main() int a,b,c; int max=0; int min=0; int average=0; printf(Please enter three number:); scanf(%d,%d,%d,&a,&b,&c); max=fmax(a,b,c); min=fmin(a,b,c); average=faver(a,b,c); printf(The max of the three number is: %d.n,max); printf(The min of the three number is: %d.n,min); printf(The average of the three number is %d.n,average); /*.c*/int fmax(int x,int y,int z) int max;max=x;if(xy) max=y; if(maxy) min=y; if(minz) min=z; else return min;/*.c*/int faver(int x,int y,int z) int aver=0; aver=(x+y+z)/3; return aver; 第九章1.选择题(1)D(2)C(3)C(4)B(5)C(6)C(7)D(8)C(9)A(10)B2.填空题(1)位逻辑运算 移位运算(2)逻辑非(3)零(4)复合赋值(5)右对齐 0 0 1(6)整3.程序设计题(1)#includemain() unsigned a,b,c,d; puts(Please enter a:n); scanf(%o,&a); b=a4; c=(04); d=b&c; printf(%o,%dn%o,%dn,a,a,d,d);(2)struct bitsampleunsigned a: 2;unsigned b: 2;unsigned c: 2;int x:0;unsigned d: 4;unsigned f: 7;第十章1、选择题(1)B(2)B(3)C(4)B(5)C(6)D(7)A(8)D(9)A(10)C(11)C(12)A2、填空题(1)fputc(A,fp); fputs(Hello!,fp); (2)fscanf(fp,%d,%d,%d,&a,&b,&c);(3)r w a3、程序填空题#includescore.txti+1%s,namescanf(%d,&age);scanf(%f,&score);%s,%d,%fnfclose(fp);4、程序设计题(1)#includevoid main() FILE *fp; char c; if(fp=fopen(d:writetctext1.txt,r)=NULL) printf(cant open the filen); exit(
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!