C语言程序设计教材答案

上传人:go****ng 文档编号:161921298 上传时间:2022-10-16 格式:DOC 页数:21 大小:87.01KB
收藏 版权申诉 举报 下载
C语言程序设计教材答案_第1页
第1页 / 共21页
C语言程序设计教材答案_第2页
第2页 / 共21页
C语言程序设计教材答案_第3页
第3页 / 共21页
资源描述:

《C语言程序设计教材答案》由会员分享,可在线阅读,更多相关《C语言程序设计教材答案(21页珍藏版)》请在装配图网上搜索。

1、第1章 C语言概述一、选择题123456DCACAC二、填空题1一个主函数 多个2main()3 c obj exe三、程序填空题main()printf四、运行结果 $ AAAAAAAAA SSSSSSSSSSSSSS五、编程题void main()printf(*n);printf(* 请完成以下功能 *n);printf(* 1、进入程序 2、切换用户 *n);printf(* 3、更新程序 4、删除程序 *n);printf(* 请选择(1-4): *n);printf(*n);第2章 数据类型、运算符、表达式与基本输入输出一、选择题123456789101112131415BDDBA

2、CCACCBCDBAAACA221二、填空题13,12不定值314051,0,0,06-2647888,8,1091三、运行结果题1n=12n=3,a=2,b=3332767,3276847.000000 6 3.000000 2 6.000000 0.00000030.000000 0 0 2 10 5第3章 顺序程序设计一、选择题12345678910DABAADA没有正确选项CCD二、填空题1dec:-1,oct:37777777777,hex:ffffffff,unsigned:42949672952dec:1,oct:1,hex:1,unsigned:13dec:65,oct:41,

3、AXCII:A43.141593,3.14253.500000,3.5631.415920,3.141592e+0017c=K8a=1,b= ,c=29a=12,b=34510c=A三、编程题1 #includevoid main() float r,h,v; scanf(%f%f,&r,&h); v=3.14*r*r*h; printf(v=%fn,v);2 #includevoid main() int n,s=0; scanf(%d,&n); s=(n+1)*(n+2)*n/3; printf(1*2+2*3+.+n(n+1)=%dn,s);3#includevoid main() in

4、t a,b,n=0; scamf(%d%d,&a,&b); n=a/2+b/4; printf(n=%dn,n);4#includevoid main() printf( On); printf(OOOOOOOOOOO000n); printf(O O 0n); printf(O O 0n); printf(OOOOOOOOOOO000n); printf( On);第4章 分支结构程序设计习题解一、选择题12345BDABD二、填空题1缺省 时,else总是与上面最近的、没有匹配过的 if 匹配。2if(a=b) x=1; printf(“ # # # # x=%dn”,x);else y=

5、2; printf(“ * * * * y=%dn”,y); 3根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果4(1)整个条件表达式的结果就取自运算分量b的结果(2)整个条件表达式的结果就取自运算分量c的结果三、程序填空题char grade;gradedefault四、运行结果题11,0,12x=6332334*&五、编程题1#include #include void main( ) float a,b,c,s,s1;printf(Please enter 3 reals:n);scanf(%f%f%f,&a,&b,&c);if(a+b)c&(a+c)b&(b+c)a) s=

6、(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s=sqrt(s1); printf(nArea of the triangle is %fn,s);else printf(It is not triangle!n);2#include #define PI 3.14159void main( )int k;float r,c,a;printf(input r,kn);scanf(%f%d,&r,&k);switch(k)case 1: a=PI*r*r; printf(area=%fn,a);break;case 2: c=2*PI*r;printf(circle=

7、%fn,c);break;case 3: a=PI*r*r;c=2*PI*r;printf(area=%f circle=%fn,a,c);break;3#include void main()int year;scanf(%d,&year); if(year%400=0|year%4=0&year%100!=0)printf(%d is a leap yearn,year);else printf(%d is not a leap yearn ,year);4#includevoid main()float score; scanf(%f,&score);if(score=90) print

8、f(A);else if(score=80) printf(B);else if(score=70) printf(C);else if(score=60) printf(D);else printf(E);5#includevoid main( )int num,a,b,c,d,p;scanf(%d,&num);if(num999) p=4;else if(num99) p=3;else if(num9) p=2;else if(num0) p=1;printf(位数是:%dn,p);a=num/1000;b=num/100-a*10;c=num/10-a*100-b*10;d=num%10

9、;switch(p)case 4:printf(%d %d %d %dn,d,c,b,a);break;case 3:printf(%d %d %d n,d,c,b);break;case 2:printf(%d %dn,d,c);break;case 1:printf(%d n,d);第5章 循环结构程序设计习题解一、选择题12345ACCBB二、填空题1 (1)while (2)do-while (3)for2 do-while语句3 for语句4(1)先判断条件是否成立(为真),若成立(为真)再执行循环语句 (2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立

10、,则结束循环。do-while至少执行一次循环语句5表达式1; while(表达式2) 表达式3;6(1)结束本次循环,后进行循环的条件判定,即不终止整个循环的执行过程 (2)终止整个循环的执行,不再进行条件判定7一个循环体内包括另一个完整的循环结构8死循环,不能确定次数三、程序填空题118或192c=getchar( )四、运行结果题10 1 1 1 2 22x=8五、编程题1#includevoid main() int i, s=0; for(i=1;i=101;i+=2)if(i-1)%4=0) s+=i; else s-=i;printf(“%d”,s); 2#include #in

11、cludevoid main()long int i,x,y,z;for(i=1;i100000;i+)x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上268后开方后的结果*/if(x*x=i+100&y*y=i+268)printf(n%ldn,i);3#includevoid main() int n,i;printf(nplease input a number:n); scanf(%d,&n); printf(%d=,n);for(i=2;i=n;i+)while(n!=i)if(n%i=0)printf(%d*,i);n=

12、n/i;else break; printf(%d,n); 4#includevoid main()char c;int letters=0,space=0,digit=0,others=0;printf(please input some charactersn);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9) digit+;else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others); 5#include #include

13、void main() int i,n,j,k,m,l=0; for(i=4;i=2000;i+=2) for(n=2;ni;n+) for(j=2,k=1;j=(int)sqrt(n);j+)/*判断n是否素数*/ if(n%j=0) k=0; if(k) /*若n是素数,则继续判断i-n是否素数*/ for(j=2,m=1;j=(int)sqrt(i-n);j+)/*判断i-n是否素数*/ if(i-n)%j=0) m=0; if(m) printf(%d=%d+%d ,i,n,i-n); l+;if (l%5=0)printf (n); break; if(n=i) printf(err

14、or %dn,i);/*n等于i,i不遵循哥德巴赫猜想*/ 6#includevoid main() int day,x1,x2; day=9;x2=1; while(day0)x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day-; printf(the total is %dn,x1); 7#includevoid main() int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+) printf( );for(k=0;k=2*i;k+) printf(*);printf(n);for(i=0;i=2;i+)for(j=0

15、;j=i;j+) printf( );for(k=0;k=4-2*i;k+) printf(*);printf(n); 8 #includevoid main()double p=1,t=1,v;int i;for(i=1;i=j;i si+1=si;!=0i+2(ch=sti)ch= word=0n+四、编程题1.#include #define NUM 10void main()int i,count=0;float aNUM,sum=0,aver;for(i=0;iNUM;i+)scanf(%f,&ai);sum+=ai;aver=sum/NUM;printf(The average i

16、s : %.2fn,aver);for(i=0;iaver)count+;printf(the number that is over average is : %dn,count);2.#include #define NUM 10void main()int i;float aNUM,max,min;scanf(%f,&a0);max=a0;min=a0;for(i=1;imax)max=ai;elseif(aimin)min=ai;printf(max=%dnmin=%dn,max,min);3.#include#define NUM 20void main()int aNUM,i;fo

17、r(i=0;iNUM;i+)scanf(%d,&ai);printf(the result is:n);for(i=0;iNUM;i+)if(i%2=0&ai%2=0)printf(%dn,ai);4.#includevoid main()int i,j,sum1=0,sum2=0,sum3=0;float aver;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&ai);for(i=0;i3;i+)for(j=0;j3;j+)printf(%6d,aij);printf(n);for(i=0;i3;i+)sum1+=aij+a2-ii;printf(输出主对角线与

18、次对角线元素的和是:%dn,sum1);for(i=0;i3;i+)sum2+=a1i;printf(输出第二行元素的和是:%dn,sum2);for(i=0;i3;i+)sum3+=ai2;aver=(float)sum3/3;printf(输出第三列元素的平均值是:%.2fn,aver);5#includevoid main()int i,co1=0,co2=0,co3=0,co4=0;char s1000,c;gets(s);for(i=0;(c=ai)!=0;i+)if(c=a&c=A&c=0&c=9)co3+;else co4+;printf(统计字符串中英文字母、空格符、数字字符及

19、其它字符的个数分别是:%d,%d,%d,%dn,co1,co2,co3,co4);6.#include #define N 10void main()int aNN,i,j;for(i=0;iN;i+)ai0=1;aii=1;for(i=2;iN;i+)for(j=1;ji;j+)aij=ai-1j+ai-1j-1;for(i=0;iN;i+)for(j=0;j=i;j+)printf(%6d,aij);printf(n);7.#include void main()int i,j;for(i=0;i5;i+)for(j=0;ji;j+)printf( );for(j=0;j5;j+)prin

20、tf(* );printf(n);第7章 函数与变量一、选择题123456789101112DCBBDADDDAAA二、填空题142double avg(double a,double b)32 114i+1 1三、编程题1#include double cylinder (double r, double h)double result;result =3.1415926 * r * r * h; return result; void main( ) double height, radius, volume;double cylinder (double r, double h); pr

21、intf (Enter radius and height: );scanf (%lf%lf, &radius, &height);volume = cylinder (radius, height ); printf (Volume = %.3fn, volume);return 0;2#include char* fun(char* s, char c)char* t = s;char* f = s;for(;*f;f+)if(*f=c)continue;*t = *f;t+;*t = 0;return s;void main()char input1000;char c;printf(请

22、输入一个字符串: );gets(input);printf(请输入一个字符: );scanf(%c,&c);printf(结果: );puts(fun(input,c);3#include long fun(int g)switch(g)case 0: return 0; case 1: case 2: return 1; return (fun(g-1)+fun(g-2);void main() long fib; int n; printf(Input n:);scanf(%d,&n);printf(n=%dn,n); fib=fun(n); printf(fib=%dnn,fib); 4

23、#include #include int fun (int x)if (x 100)printf(data error !n);exit(0); y=fun(x); if (y) printf(%d YESn,x); else printf(%d NO!n,x);5#include #include float fun (float h)long num; h=h+0.005; h=h*100; num=h; h=num; h=h/100; return h;void main()float a; clrscr(); printf(Enter a:);scanf(%f,&a); printf

24、(The original data is:); printf(%f nn,a); printf(The result: %fn,fun(a);6#include #include #define N 81void fun (char *s)int i,length;char tmp;length=strlen(s);if(length=0)return; tmp=s0; for(i=0;ilength-1;i+) si=si+1; slength-1=tmp;void main( ) char aN; clrscr( );printf(Enter a string:); gets(a);pr

25、intf(The original string is: ); puts(a); fun(a); printf(The string after modified: ); puts(a);第8章 编译与预处理一、选择题1234567DBA无答案(5)ADB二、填空题1c2937041000 1059911三、运行结果题1 a=62 a=3a=33 x= 934 a=14,b=15c=05 错误四、编程题1#include#include #define BICIR(a,b,c) sqrt(a+b+c)/2)*(a+b+c)/2-a)*(a+b+c)/2-b)*(a+b+c)/2-c)void

26、main() float a,b,c; scanf(%f%f%f,&a,&b,&c); printf(%f,BICIR(a,b,c);2#include#include #define min(a,b,c) ab?(bc?c:b):(ac?c:a)void main() float a,b,c; scanf(%f%f%f,&a,&b,&c); printf(%f,min(a,b,c);3#include#define sum(n) (1+(n)*(n)/2void main() int n,sum; printf(enter your number:n); scanf(%d,&n); sum=

27、sum(n); printf(the sum is %dn,sum); 第9章 结构体与其他数据类型一、选择题1234567CDDABCC二、填空题1emoclew 213431三、编程题1.#include #include #define N 16typedef structchar num10; int s;STREC;STREC fun(STREC *a,char *b)STREC k; int i,flag=0;for(i=0;iN;i+)if(strcmp(ai.num,b)=0)k=ai;flag=1;if(flag=1)return k;elsestrcpy(k.num,);k

28、.s=-1;return k;void main() STREC sN=GA05,85,GA03,76,GA02,69,GA04,85,GA01,91,GA07,72,GA08,64,GA06,87,GA015,85,GA013,91,GA012,64,GA014,91,GA011,91,GA017,64,GA018,64,GA016,72;STREC h;char m10; int i;FILE *out;printf(The original data:n);for(i=0;iN;i+) if(i)%4=0)printf(n); printf(%s %3d,si.num,si.s);pri

29、ntf(nnEnter the number: );gets(m);h=fun(s,m);printf(The data: );printf(n%s %4dn,h.num,h.s);printf(n);out=fopen(out17.dat,w);h=fun(s,GA013);fprintf(out,%s %4dn,h.num,h.s);fclose(out);2.#include #include #define N 8struct slist double s; struct slist *next;typedef struct slist STREC;double fun(STREC *

30、h)STREC *c;double max;c=h-next;max=c-s; while(c-next!=0)c=c-next;if(maxs) max=c-s; return max;STREC *creat(double *s) STREC *h,*p,*q;int i=0;h=p=(STREC*)malloc(sizeof(STREC);p-s=0;while(is=si;i+;p-next=q;p=q;p-next=0;return h;outlist(STREC *h) STREC *p;p=h-next; printf(head);do printf(-%2.0f,p-s);p=

31、p-next;while(p!=0);printf(nn);void main() double sN=85,76,69,85,91,72,64,87,max; STREC *h; h=creat(s); outlist(h); max=fun(h); printf(max=%6.1fn,max);第10章 文件一、选择题12345678910DBBDACCBCA111213141516ACAAAD二、填空题1.二进制文件、文本文件2.n,n3.1,04. 一个指针,存放输入数据的首地址 从fp所指的文件中,每次读size个字节(一个实数)送入实数组fa中,连续读count次,到buffer中5.”file2.txt”,fclose(fp)三、读程序题1输入文件名,输入字符到输入#结束,把这些字符写入文件,最后写入字符数。2向test文件写入new world,又向test文件覆盖写入hello3”abc.txt”,”r”Break;fclose(fp)

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

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

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


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