C语言程序期末复习重点.doc_第1页
C语言程序期末复习重点.doc_第2页
C语言程序期末复习重点.doc_第3页
C语言程序期末复习重点.doc_第4页
C语言程序期末复习重点.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算两个数x和y的和。(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。(实验教材P21)5、输入并运行以下程序,分析运行结果。(实验教材P27)1、#include void main( ) int x,y,sum; x=123; y=456; sum=x+y; printf(sum is =%dn,sum); 2、#include void main( )float h,c;printf(请输入华氏温度:);scanf(%f,&h);c=5.0/9*(h32);printf(华氏温度%f转换摄氏温度为%fn,h,c);3、#include #define P 3.14 void main( ) float r1,r2; double s1,s2,s; printf(Please enter r1,r2:n); scanf(%f%f,&r1,&r2); s2=r2*r2*P;s1=r1*r1*P;s=s2-s1; printf(s=%lfn,s);4、#include void main( ) int x,y,t,max,sum; float average; printf(请输入两个整数 x y:); scanf(%d%d,&x,&y); printf(您输入的两个整数 x y为:); printf(x=%d,y=%dn,x,y); max=x; if(maxy) max=y; sum=x+y;average=sum/2.0; t=x; x=y; y=t; printf(交换后的两个整数 x y为:); printf(x=%d,y=%dn,x,y); printf(最大值max=%dn,max); printf(平均值average=%fn,average);5.#include void main( ) int i,j; i=8; j=10; printf(“%d,%dn”,+i,+j); i=8; j=10; printf(“%d,%dn”,i+,j+); i=8; j=10; printf(“%d,%dn”,+i,i); i=8; j=10; printf(“%d,%dn”,i+,i)1、从键盘输入一个3位整数,请输出该数的逆序数。(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(实验教材P27)3、判断箱子是正方体还是长方体。(实验教材P33)4、有一函数: x (x1)y= 2x-1 (1x10) 3x-11 (x10) 编写程序,输入x值,输出y值。5、从键盘上输入3个数a、b、c,求一元二次方程的解x1、x2,并分别把这两个解的绝对值作为圆柱的半径与高,计算圆柱的体积。(实验教材P20)1、#include void main( ) int a,b,c,x,y; printf(请输入一个3位的正整数:n); scanf(%d,&x); a=x/100; /*求x的百位数*/b=(x-a*100)/10; /*求x的十位数*/c=x-a*100-b*10; /*求x的个位数*/y=c*100+b*10+a;printf(%d:%dn,x,y);2、#include void main( ) char a,b,c; float x; printf(Please enter:n); scanf(%c%c%c,&a,&b,&c); x=(a+b+c)/3.0; printf(a+b+c)/3=%.2fn,x);3、include void m ain( ) int x,y,z; printf(Please enter three numbers:n); scanf(%d,%d,%d,&x,&y,&z); if(x=y&y=z) /*if分支*/ printf(该箱子是立方体。n); else printf(该箱子是长方体。n);4、#include void main( ) float x,y; printf(Please input x:n); scanf(%f,&x); if(x1) y=x; else if(x=0) x1=(-b+sqrt(b*b-4*a*c)/(2*a); x2=(-b-sqrt(b*b-4*a*c)/(2*a); r=fabs(x1); h=fabs(x2); v=PI*r*r*h; printf(圆柱体积为%f,半径r=%f,高h=%fn,v,r,h); elseprintf(Data is Error! 无法求圆柱体积!n);1、定义4个实型变量a、b、c、d,利用单分支if语句对其进行排序,最后将结果输出。(实验教材P33)2、编写程序,从键盘上输入某一年月,判断这年的这个月份有多少天。(教材P75【例5-6】)3、编写程序,对于给定的学生百分制成绩,分别输出等级A,B,C,D,E,其中90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。(要求分别使用switch和if语句实现)(实验教材P123)4、编写程序,从键盘上输入一个字符,如果该字符是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其他字符,原样输出。(实验教材P124)1、#include void main( ) float a,b,c,d,t; printf(请输入4个实数:); scanf(%f%f%f%f,&a,&b,&c,&d); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(ad) t=a;a=d;d=t; if(bc) t=b;b=c;c=t; if(bd) t=b;b=d;d=t; if(cd) t=c;c=d;d=t; printf(从小到大的顺序为:n); printf(%ft%ft%ft%fn,a,b,c,d);2、#include void main( ) int year,month,days; printf(Please enter year and month: ); scanf(%d%d,&year,&month); switch(month) case 2: if(year%4=0&year%100!=0|year%400=0) days=29; else days=28; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30;printf(%d年%d月有%d天n,year,month,days);3、方法1:使用嵌套的if语句实现:#include void main( ) float score; char ch; scanf(%f,&score); if(score100|score=90) ch=A; else if(score=80) ch=B; else if(score=70) ch=C; else if(score=60) ch=D; else ch=E; printf(%f分等级是:%cn,score,ch); 方法2:使用switch语句实现:#include void main( ) float score; char ch; scanf(%f,&score); switch(int)(score/10) case 10: case 9: ch=A; break; case 8: ch=B; break; case 7: ch=C; break; case 6: ch=D; break; default:ch=E; break; printf(%f分等级是%cn,score,ch);4、#include void main( ) char ch; scanf(%c,&ch); if(ch=a&ch=A&ch=Z)ch=ch+32; else ch=ch; printf(转换后为:%cn,ch);1、计算sum=1+2+100。(教材P83【例6-1】)2、从键盘上连续输入多个学生成绩分数(0-100),编写程序统计学生最高、最低和平均成绩。(实验教材P40)3、编写程序输出所有水仙花数,并统计水仙花数的个数,其中水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验教材P42)4、编写程序,计算数列,计算数列的前20项的和。(实验教材P46)5、编写程序,从键盘上输入正整数m,判断m是否为质数。(教材P98【例6-12】)#include void main( ) int i=1,sum=0; while(i=100) sum=sum+i; i+; printf(sum=%dn,sum);2、#include void main( ) float score,max,min,sum=0.0,average; int i=0; printf(请输入学生成绩:n); scanf(%f,&score); max=min=score; /初始化变量max,min while(score=0) /循环判断条件 sum=sum+score; i+; /对学生人数进行计数 if(maxscore) min=score; scanf(%f,&score); average=sum/i; /计算平均分 printf(max=%f,min=%fn,max,min); printf(共%d个学生,平均分为:%fn,i,average);3、#include void main( ) int a,b,c; int count=0; int m=100; printf(100999之间的水仙花数为:); do a=m/100; /计算百位数赋值a b=(m-100*a)/10; /计算十位数赋值b c=m-100*a-10*b; /计算个位数赋值c if(m=a*a*a+b*b*b+c*c*c) /输出水仙花数并计数 printf(%5d,m);count+; m+;while(m1000); printf(n100999之间的水仙花数共%d个n,count);4、#include #define N 20void main( ) int i; float m=1.0,n=2.0,t,p; double sum=0.0; t=m/n; for(i=1;i=N;i+) sum=sum+t; p=m+n; m=n; n=p; t=m/n; printf(前20项的结果为:%lfn,sum);5、#include #include void main( ) int m,i=2; int flag=1; printf(输入一个数验证是否为质数:); scanf(%d,&m); for(i=2;i=sqrt(m);i+) if(m%i=0) flag=0;break; if(flag=1)printf(恭喜,你输入的数%d是质数!n,m); elseprintf(对不起,你输入的数%d不是质数!n,m);1、编写程序,计算圆周率,其中 /4=1-1/3+1/5-1/7+,直到某一项的绝对值小于10-6为止。(教材P86【例6-4】)2、编写一个程序,求数列1!-3!+5!-7!+(-1)n-1(2n-1)!,n的值由键盘录入。(实验教材P43)3、使用for循环语句,打印以下二维图案。(实验教材P44) * * * * * * *4、 编写程序实现“百马百担”问题。有100匹马,要驮100担货物,其中1匹大马可以驮3担,1匹中马可以驮2担,2匹小马可以驮1担,请问大马、中马和小马可以有多少种组合。1、使用do-while循环实现:#include #include void main( ) int n; float m,t,pi; pi=0;n=1;m=1.0;t=1.0; do pi=pi+t; n=n+2; m=-m; t=m/n; while(fabs(t)=1e-6); pi=pi*4; printf(圆周率pi=%10.6fn,pi); 2、#include void main( ) int i,j,n,flag=1; long fact,sum=0; printf(请输入一个数,计算前几项的值: ); scanf(%d,&n); printf(前%d项和为: ,n); for(i=1;i=2*n-1;i=i+2) fact=1; for(j=1;j=i;j+) fact=fact*j; sum=sum+fact*flag; /计算阶乘和 flag=-flag;printf(%ldn,sum); 3、#include stdio.hvoid main( ) int i,j,k; for(i=1;i=4;i+) for(j=1;j=5-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n); for(i=5;i=7;i+) for(j=1;j=i-3;j+) printf( ); for(k=1;k=15-2*i;k+) printf(*); printf(n); 4、#include void main( ) int m,n,k; int sum=0; for(m=0;m=100;m+) for(n=0;n=100-m;n+) k=100-m-n; if(k%2=0&3*m+2*n+k/2=100) printf(大马%d匹,中马%d匹,小马%d匹n,m,n,k); sum+; printf(共有%d种驮法组合n,sum); printf(n);1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include void main( ) int i,n,a10,avg; for(i=0;in;i+) scanf(“%d”,ai); for(i=0;in;i+) if(i%3=0) printf(“n”); printf(“%d ”,ai);for(i=0;in;i+) avg+=ai;printf(“navg=%fn”,avg);2、从键盘上读入10个整数存入数组a,找出数组a中的数的最大值,并计算数组a中所有数组元素的平均值。(教材P112【例7-4】)3、编写程序,将数组中的值逆序存放。(实验教材P60)4、从键盘上输入10个整数,然后按照从小到大的顺序把这10个数排序并输出到屏幕上。(教材P114【例7-6】冒泡法排序、P115【例7-7】选择法排序)四、实验步骤与过程:补充1: #include void main( ) int i; long Fib20; Fib0=1; Fib1=1; for(i=2;i20;i+) Fibi=Fibi-1+Fibi-2; printf(Fibonacci数列前20项如下:n); for(i=0;i20;i+) if(i%4=0) printf(n); printf(Fib%2d=%5d ,i,Fibi); printf(n);1、#include void main( ) int i,n=10,a10;float avg=0; for(i=0;in;i+) scanf(%d,&ai); for(i=0;in;i+) if(i%3=0) printf(n); printf(%d ,ai);for(i=0;in;i+) avg+=ai;printf(navg=%fn,avg/n);2、#include void main( ) int i,a10,max; float sum=0,average; printf(Input 10 integer data:n); for(i=0;i10;i+) scanf(%d,&ai); max=a0; sum=0; for(i=0;i10;i+) if(maxai) max=ai; sum+=ai; average=sum/10.0; printf(max=%d,average=%fn,max,average);3、#include #define N 10void main( ) int i,t,aN; printf(请输入10个数的数组:); for(i=0;iN;i+) scanf(%d,&ai); printf(交换前的数组为:); for(i=0;iN;i+) printf(%d ,ai); printf(n); for(i=0;iN/2;i+) t=ai; ai=aN-1-i; aN-1-i=t; /实现交换 printf(交换后的数组为:); for(i=0;iN;i+) printf(%d ,ai); printf(n);4、方法1:冒泡法排序#include #define N 10void main( ) int aN,i,j,t; printf(Input 10 numbers:n); for(i=0;iN;i+) scanf(%d,&ai); for(j=0;jN-1;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; printf(The sorted numbers:n); for(i=0;iN;i+) printf(%d ,ai); printf(n);方法2:选择法排序#include #define N 10void main( ) int aN,i,j,t,p; printf(Input 10 numbers:n); for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN-1;i+) p=i; for(j=i+1;jN;j+) if(ajap) p=j; if(p!=i) t=ai; ai=ap; ap=t; printf(The sorted numbers:n); for(i=0;iN;i+) printf(%d ,ai); printf(n);1、编写程序计算Fibonacci数列,并输出前20项,每行5项。(实验教材P130)2、计算一个44矩阵的对角线元素之和。(实验教材P55)3、判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。(实验教材P56)4、编写程序,实现字符串测试长度函数strlen的功能。(实验教材P60)四、实验步骤与过程:1、#include #define N 20void main( ) int i; long FN; printf(Fibonacci数列前20项如下:n); F0=0; F1=1; F2=1; for(i=3;iN;i+) Fi=Fi-1+Fi-2; for(i=0;iN;i+) if(i%5=0) printf(n); printf(%10d ,Fi); printf(n);2、#include void main( ) int i,j,a44,sum=0; printf(请输入4*4的矩阵:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&aij); if(i=j|i+j=3) /if条件sum=sum+aij; printf(输出对角线的元素和:); printf(sum=%d,sum); printf(n);3、#include #include #define N 40void main( ) char strN,ch=Y; int i; int len; printf(Input a string:); scanf(%s,str); len=strlen(str); /测试字符数组长度赋值给len for(i=0;ilen/2;i+) /循环条件 if(stri!=strlen-1-i) /判读是否回文数 ch=N; break; if(ch=Y) printf(%s是一个回文数n,str); else printf(%s不是一个回文数n,str);4、#include #define N 100void main( ) int i=0; char sN; printf(请输入字符串:); gets(s); while(si!=0) i+; printf(字符串:); puts(s); printf(字符串长度length=%d,i); printf(n);1、调用函数,求3个整数中的最大值。(教材P139【例8-2】)2、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(参考教材P62【例4-12】)3、编写一个函数,当输入整数n后,输出高度为n的等边三角形。当n=4时的等边三角形如下:* (实验教材P136)4、数组中存放了一个学生5门课程的成绩,求平均成绩。(教材P144【例8-7】)四、实验步骤与过程:1、#include void main( ) int max(int a,int b); int x,y,z,m; printf(Please enter three numbers: ); scanf(%d%d%d,&x,&y,&z); m=max(max(x,y),z); printf(The max is %d.n,m);int max(int a,int b) int c; if(ab) c=a; else c=b; return (c);2、#include #include void main( ) float area(float a,float b,float c); float x,y,z,ts; printf(Please enter x,y and z: ); scanf(%f,%f,%f,&x,&y,&z); if(x0&y0&z0&x+yz&y+zx&x+zy) ts=area(x,y,z); printf(area=%fn,ts);elseprintf(data error!n);float area(float a,float b,float c) float s,p,area; s=(a+b+c)/2; p=s*(s-a)*(s-b)*(s-c); area=sqrt(p); return (area);3、#include void main( ) void trangle(int n);int n; printf(请输入一个整数值:); scanf(%d,&n); printf(n); trangle(n);void trangle(int n) int i,j; for(i=0;in;i+) for(j=0;j=n-i;j+) putchar( ); for(j=0;j=2*i;j+) putchar(*); putchar(n);4.#include void main( ) float aver(float a );int i;float score5,average;printf(请输入该学生5门课程的成绩:n);for(i=0;i5;i+)scanf(%f,&scorei);average=aver(score);printf(平均成绩是%5.2fn,average);float aver(float a ) int i;float ave,sum=0;for(i=0;ibi)、等于(ai=bi)、小于(aibi)的次数。(实验教材P135)5、输入三角形的三条边长,利用海伦公式求出三角形的面积并输出。要求使用带参数的宏定义。(实验教材P81)四、实验步骤与过程:1、#include void main( ) void sort(int s ,int n);int i,a10; printf(请输入10个整数:n);for(i=0;i10;i+) scanf(%d,&ai);sort(a,10);printf(排序后的10个整数为:n);for(i=0;i10;i+) printf(%d ,ai);void sort(int s ,int n) int i,j,t; for(i=0;i=i+1;j-) if(sjsj-1) t=sj;sj=sj-1;sj-1=t; 2、#include int tab13=0,31,28,31,30,31,30,31,31,30,31,30,31;void main( ) int day_year(int y,int m,int d);int year,month,day; printf(请输入年月日:n); scanf(%d%d%d,&year,&month,&day); printf(是这年的第%d天n,day_year(year,month,day);int day_year(int y,int m,int d) int i,s=0;for(i=1;i=3) s+;return (s+d);3、6 15 154、#include #define N 10void main( ) int comp(int m,int n);int i,aN,bN;int x=0,y=0,z=0;printf(请输入第一个数组:);for(i=0;iN;i+) scanf(%d,&ai);printf(“请输入第二个数组:);for(i=0;iN;i+) scanf(%d,&bi);for(i=0;in) flag=1; if(m=n) flag=0; if(mn) flag=-1; return (flag);5、利用带参数的宏定义 #include #include #define S(a,b,c) (a+b+c)/2) /*带参数的宏定义S*/#define AREA(S,a,b,c) (S)*(S-a)*(S-b)*(S-c)void main( ) float x,y,z,area; printf(请输入三角形的三条边长:n); scanf(%f%f%f,&x,&y,&z); if(x0&y0&z0&x+yz&x+zy&y+zx) /*判断是否能构成三角形*/ area=sqrt(AREA(S(x,y,z),x,y,z); /*调用带参数的宏定义求三角形面积*/ printf(三角形的面积为:%.2fn,area);else printf(输入数据有误!n);1、从键盘输入两个整数a 和b,编写函数swap1和swap2实现两个整数的交换,实参与形参的传递

温馨提示

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

评论

0/150

提交评论