《C语言程序设计实验与习题》上机实.doc
《《C语言程序设计实验与习题》上机实.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计实验与习题》上机实.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计实验与习题上机实验参考答案(此答案仅作为教师指导学生上机实验时参考使用,不得转发给学生!)第2章实验一 基本数据类型1、float c;double d; c=211.5f; d=211.5; printf(a/b=%dn,a/b);2、printf(%d,%o,%xn,0x65,0x65,0x65);3、e=o+2;f=m+2;g=e+2;4、ra=de*PI/180;实验二 算术运算符和表达式1、printf(%fn,x+a%3*(int)(x+y)%2/4);printf(%fn,(float)(a+b)/2+(int)x%(int)y);2、printf(%dn,(x=1
2、,y=100,z=(x+y)*5);printf(%dn,x=(i=10,j=5,i*j);printf(%dn,(x=i=10,j=5,i*j);3、 double a,b,c,s,area; area=sqrt(s*(s-a)*(s-b)*(s-c);第3章实验一 数据的格式化输出略实验二 数据的格式化输入1、 a=b;B=g;2、10V12V410.343、 a=3Vb=7x=8.57Vy=71.82c1=AVc2=a 4、略第4章实验一 if语句2、wan=ge&qian=shi3、c=a&c=A&c=0&c=94、#include #include void main ( ) dou
3、ble x, y, z; printf(输入x,y的值: n); scanf(%f%f, &x,&y ); if ( x = 0&y=0 ) z = log10(x)+log10(y); else if ( x = 0 ) z = sin(x)+cos(y); else if ( x 0&y 0 ) z = exp(2*x)+exp(2*y); else z = tan(x+y); printf(Z=%.2fn, z ); 实验二 switch语句2、#include void main()float m,y,s;printf(“请输入本金和存款年限:n”);scanf(%f%f,&m,&y)
4、;if(y8) n=y-8; y=8;switch(y)case 1: s = m + m * 0.63% * 12; break;case 2: s = m + m * 0.66% * 12 * 2; break;case 3: case 4: s = m + m * 0.69% * 12 * y; break;case 5: case 6: case 7: s = m + m * 0.75% * 12 * y; break;case 8: s = m + m * 0.84% * (y+n); break;defaut:printf(wrongn); printf(“本金利息合计: %fn”
5、,s);第5章实验一 循环语句的使用1、temp =m;m=n;n=temp; m=n;n=r2、tn=tn+a; a=a*10;3、【程序如下:】#include void main() float s,f0,h,x; int n,i; printf(“输入区间分隔数n:”); scanf(“%d”,&n); h=1.0/n; f0=4.0; /初值,x=0.0时f(0.0)=4.0s=0.0; for(i=1;in;i+) s+=f0*h; x=i*h; f0=4/(1+x*x); printf(“s=%fn”,s); 实验二 循环的嵌套1、【程序如下:】#include #include
6、 void main() long int sum,temp; int n,i,j=1; printf(“Please input how many terms you want the computer to calculate(19):n”); scanf(“%d”,&n); if(n=10) printf(“Overflow !n”); exit(0); sum=0; for(i=1;i=4)3、【程序如下:】#include void main()int m,i,s;for ( m=2;m=1000;m+) t=0;for (n=1;n=m/2;n+)if ( m%n=0 ) t+=n
7、;if (m=t) printf(“%6d”,m);printf(“n);4、【程序如下:】#include void main() int x,y,z; for(x=0;x=3;x+) for(y=1;y=5;y+) for(z=0;z=6;z+) if (x+y+z=8) printf(“x=%d,y=%d,z=%d”,x,y,z);5、if (x/y=s) t+=10;实验三 continue 语句和break1、x=10 y=62、a=12 y=12 a=16 y=283、a=84、k=45、money10000 break第6章实验一 一维数组1、mid=(low+high)/2;
8、if(x=amid) printf(%d,mid);break; else if(xamid) high=mid-1; else low=mid+1;2、for(i=0;iN;i+) for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp;3、scanf(%d,&base);for(i=0;n!=0;i+) numi=n%base; n=n/base; printf(the result is:);for(i-;i=0;i-)if(numi=0&numi=9) c=0+numi; else c=a+numi-10; printf(%c,c);实验二 二维数组1、
9、int cur_i=0, cur_j; int count, size=0, i, j; while(size%2)=0) printf(n enter square size(ODD number):); scanf(%d,&size); cur_j=(size-1)/2; for(count=1;count=size*size;count+) magiccur_icur_j=count; if(count%size)=0) cur_i+;continue; cur_i-; cur_j+; if(cur_i0) cur_i+=size; else if(cur_j=size) cur_j-=
10、size; for(i=0;isize;i+) printf(n); for(j=0;jsize;j+) printf(%4d,magicij); 2、for(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;3、 int i,j,high=1,low=1,sh,sl;printf(input score:n);for(i=1;i5;i+)for(j=1;j100|scoreij0) printf(输入成绩应在0100之间,请重新输入:n); scanf(%d,&scoreij); for(i=1;i5;
11、i+)sumi=0;for(j=1;j7;j+)sumi+=scoreij;averi=sumi/6;sh=sl=sum1;for(i=2;ish) sh=sumi;high=i; else if(sumisl) sl=sumi;low=i;printf(%d总分最高,n%d总分最低n,high,low);printf(请输入学生学号:);scanf(%d,&i);while(i4) printf(请重新输入:n);scanf(%d,&i);for(j=1;j7;j+) printf(第%d次考试成绩为:%d,n,j,scoreij);printf(平均成绩为:%dn,averi);print
12、f(请输入考试次数:);scanf(%d,&j);while(j6) printf(请重新输入:n);scanf(%d,&j);aver0=0;for(i=1;i=a&chi=A&chi=0&chi*p2) *m=*p1; *n=*p2; else *m=*p2; *n=*p1; if(*m*p3) *n=*p3;3、switch(c)case u: *(unsigned *)p3)=*(unsigned *)p1);*(unsigned *)p1)=*(unsigned *)p2);*(unsigned *)p2)=*(unsigned *)p3);break; case i: *(int
13、*)p3)=*(int *)p1);*(int *)p1)=*(int *)p2);*(int *)p2)=*(int *)p3);break; case f: *(float *)p3)=*(float *)p1);*(float *)p1)=*(float *)p2);*(float *)p2)=*(float *)p3);break; case d: *(double *)p3)=*(double *)p1);*(double *)p1)=*(double *)p2);*(double *)p2)=*(double *)p3);break; case c: *(char *)p3)=*(
14、char *)p1);*(char *)p1)=*(char *)p2);*(char *)p2)=*(char *)p3); 实验二 指针与数组1、while(pq) t=*p; *p=*q; *q=t; p+; q-;2、scorei=max=*(*a+i);for(p=a+1;pa+N;p+)scorei+=*(*p+i);if(max*(*p+i)max=*(*p+i);3、int *p,count=0,t;while(count=a;p-)*(p+1)=*p;*a=t;count+;实验三 指针数组与指向指针的指针1、for(i=1;i5;i+) for(j=0;j*p0) p0=&
15、aij;else for(m=4;m=1;m-) if(aij*pm) for(n=1;nm;n+) pn=pn+1;pm=&aij;break;2、for(p=pa;ppa+M;p+)for(i=0;iN-1;i+)for(j=0;jN-i-1;j+)if(*(*p+j)*(*p+j+1)t=*(*p+j);*(*p+j)=*(*p+j+1);*(*p+j+1)=t;实验四 指针与函数1、第一处:switch(op) case +:func=add;break; case -:func=sub;break; case *:func=mul;break; case /:func=div;bre
16、ak; default: done=0;第二处:printf(%f%c%f=%fn,op1,op,op2,(*func)(op1,op2);2、第一处:return (*func)(a,b);第二处:switch(op)case +:result=compute(add,op1,op2);break;case -:result=compute(sub,op1,op2);break;case *:result=compute(mul,op1,op2);break;case /:result=compute(div,op1,op2);break;default: done=0;3、int i;*p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计实验与习题 语言程序设计 实验 习题 上机
限制150内