C习题解答.ppt
《C习题解答.ppt》由会员分享,可在线阅读,更多相关《C习题解答.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、缺少以下同学的作业本缺少以下同学的作业本:光信息光信息0701 毛小青毛小青,于怀余光乾于怀余光乾光信息光信息0702 王昊王昊有些同学作业不全有些同学作业不全,或者只有后几章或者只有后几章,或者只有前几章。或者只有前几章。作业加考勤,作为平时成绩的依据,占总成绩的作业加考勤,作为平时成绩的依据,占总成绩的30%,期末考试占期末考试占70%下面是各章习题的参考答案:下面是各章习题的参考答案:习题33.6 从键盘上输入一个整数从键盘上输入一个整数,分别输出它的个位、十位和百位数。分别输出它的个位、十位和百位数。main()int x,a,b,c;printf(“input an integer:
2、n”);scanf(“%d”,&x);a=x%10;x=x/10;b=x%10;x=x/10;c=x%10;x=x/10;printf(“个位个位=%1d,十位十位=%1d,百位百位=%1dn”,a,b,c);getch();3.7 3.7 3.7 3.7 从键盘上输入一个大写字母,并将大写字母转换成小写从键盘上输入一个大写字母,并将大写字母转换成小写从键盘上输入一个大写字母,并将大写字母转换成小写从键盘上输入一个大写字母,并将大写字母转换成小写字母输出。字母输出。字母输出。字母输出。#include“stdio.h”main()char ch;printf(“input a capital
3、letter:”);ch=getchar();if(ch=A&chb)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(“%d%d%d%dn”,a,b,c,d);4.3 编程序按下式计算编程序按下式计算y的值的值,x的值由键盘输入。的值由键盘输入。使用独立使用独立if语句语句#include“math.h”main()float x,y;printf(“input x:”);scanf(“%f”,&x);if(x=0&x=20&
4、x=40&x=60&x80)y=log(x+1);if(x=80)y=0;printf(“y=%fn”,y);getch();使用嵌套使用嵌套if语句语句#include“math.h”main()float x,y;printf(“input x:”);scanf(“%f”,&x);if(x0)y=0;else if(x20)y=5*x+1;else if(x40)y=sin(x)+cos(x);else if(x60)y=exp(x)-1;else if(x=90?A:s=75?B:s=60?C:D;printf(“”score=%cn”,ch);4.5 计算器程序。用户输入运算数和四则运
5、算符,输出计算结果。计算器程序。用户输入运算数和四则运算符,输出计算结果。main()float x,y,z;char op;printf(“input an operator”);op=getchar();if(op=+|op=-|op=*|op=/)printf(“input 2 operands”);scanf(“%f%f”,&x,&y);switch(op)case+:z=x+y;break;case-:z=x-y;break;case*:z=x*y;break;case/:z=x/y;break;printf(“%f%c%f=%fn”,x,op,y,z);else printf(“N
6、ot an operator.n”);习题习题5 55.5 5.5 编写一个程序,求编写一个程序,求 的值。的值。main()int i,sign;float a,sum=0;sign=1;for(i=1;i1E-07)sum=sum+a;i+;a=a/i;printf(“e=%fn”,sum);main()int i;float a,sum=1;for(i=1,a=1/i;a1E-07;a=a/+i)sum=sum+a;printf(“e=%fn”,sum);5.8 5.8 编写程序,打印以下图形(行编写程序,打印以下图形(行n n的值由键盘输入)。的值由键盘输入)。main()int i,
7、j,m,n;printf(“input row number:”);scanf(“%d”,&n);for(i=1;i=n;i+)m=40-(n-i);for(j=1;j=m;j+)putchar();for(j=1;j0;i-)m=40-i;for(j=1;j=m;j+)putchar();for(j=1;j=n-i+1)putchar(*”);putchar(n);5.11 编写一个程序,输出编写一个程序,输出3 100之间的全部素数,每之间的全部素数,每10个一行。个一行。#include“math.h”#include“stdio.h”main()int i,j,m,flag,count
8、=0;for(i=3;i=100;i+)m=(int)sqrt(i);flag=1;for(j=2;j=m;j+)if(i%j=0)flag=0;if(!flag)continue;printf(“%5d”,i);count+;if(count%10=0)printf(“n”);习题 66.3 编写一个程序,已知一个圆筒的半径、外径和高,计算该圆筒的体积。#define PI 3.1415926#include“math.h”float volume(float r,float R,float h)float v;v=PI*(R*R-r*r)*h;return(fabs(v);main()fl
9、oat r,R,h;printf(“input r,R,h:”);scanf(“%f%f%f”,&r,&R,&h);printf(“vol=%fn”,volume(r,R,h);6.4 编写一个求水仙花数的函数,求100到999之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如:153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3int isflower(int n)int a,b,c,m=n;a=m%10;m=m/10;b=m%10;m=m/10;c=m%10;if(n=a*a*a+b*b*b+c*c*c)return(1);else return
10、(0);main()int j,count=0;for(j=100;j0):”);scanf(“%f%d”,&x,&n);printf(“pow(%f,%d)=%fn”,x,n,power(x,n)习题 77.5 将整型数组所有元素镜像对调,按对调后的结果输出。#define N 10main()int aN,i,j,t;printf(“input%d integer numbers:n”,N);for(i=0;iN;i+)scanf(“%d”,&ai);printf(“Original array:”);for(i=0;iN;i+)printf(“%5d”,ai);for(i=0;iN/2;
11、i+)j=N-1-i;t=ai;ai=a j;a j=t;/*对调*/printf(“nnInversed array:”);for(i=0;iN;i+)printf(“%5d”,ai);7.6 在有序的数列中插入若干个数,使数列在插入过程中始终保持有序。#define N 20main()int aN=1,5,9,15,23,45,67,71,80,91,n=10;int i,j,b,t;printf(“Original array:”);for(i=0;in;i+)printf(“%5d”,ai);while(nai&i=i;j-)aj+1=aj;n+;ai=b;printf(“Do yo
12、u insert new data again?(1/yes,0/No)”);scanf(“%d”,&b);if(b!=1)break;printf(“nResult array:”);for(i=0;i0?(x):-(x)/*求绝对值的宏*/#define M 6main()int aMM,i,j,k,max,t;printf(“input a 6x6 matrix:”);for(i=0;iM;i+)for(j=0;jM;j+)scanf(“%d”,&aij);for(j=0;jM;j+)max=ABS(a0j);k=0;/*初始假设*/for(i=1;imax)max=ABS(aij);k
13、=i;t=akj;akj=akk;akk=t;/*与对角线元素对调*/printf(“nResult Array:n”)for(i=0;iM;i+)for(j=0;jBottom时终止。时终止。#define N 10main()int aNN,n,i,j,t;int top,bottom,left,right;printf(“input n(n=%d)”,N);scanf(“%d”,&n);top=0,bottom=n-1,left=0,right=n-1;/*最外圈*/t=0;while(top=bottom&left=right)for(i=top,j=left;j=right;j+)a
14、ij=+t;for(i=top+1,j=right;i=left;j-)aij=+t;for(i=bottom-1,j=left;itop+1;i-)aij=+t;top+,bottom-,left+,right-;/*缩一圈*/for(i=0;in;i+)for(j=0;jn;j+)printf(“%5d”,aij);printf(“n”);7.12 自己编程实现strcpy()和strlen()函数的功能.voidvoid StrCpy StrCpy(char c1,char c2);(char c1,char c2);int StrLenint StrLen(char c);(char
15、c);main()main()char c140=He is;char c140=He is;int int Len;Len;StrCpyStrCpy(c1,a student);(c1,a student);Len=Len=StrLenStrLen(China);(China);printf printf(%s(%s res res=%d,c1,Len);=%d,c1,Len);voidvoid StrCpy StrCpy(char c1,char c2)(char c1,char c2)int int i=0;while(c1i=c2i)!=0)i+;i=0;while(c1i=c2i)!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 解答
限制150内