《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社_第1页
《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社_第2页
《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社_第3页
《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社_第4页
《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

2.2#include main() float x=2.5,y=2.5,z=2.5; printf(x=%fn,x); printf(y=%fn,y); printf(z=%fn,z); 3.1(1)#include main() int a=12,b=3; float x=18.5,y=4.6; printf(%dn,(float)(a*b)/2); printf(%dn,(int)x%(int)y); 3.2#include main() int x,b0,b1,b2,s; printf(Inputx:); scanf(%d, b2=x/100; b1=(x-b2*100)/10; b0=x%10; s=b0*100+b1*10+b2; printf(s=%dn,s); 3.3#include #include main() float rate=0.0225; float n,capital,deposit; printf(Input n,capital:); scanf(%f,%f, deposit=capital*pow(1+rate,n); printf(deposit=%fn,deposit); 3.4#include #include main() float a,b,c; double x,y; printf(Inputa,b,c:); scanf(%f,%f,%f, x=(-b+sqrt(b*b-4*a*c)/(2*a); y=(-b-sqrt(b*b-4*a*c)/(2*a); printf(x=%f,y=%fn,x,y); 4.1(1)#include main() char c1=a,c2=b,c3=c; printf(a%cb%cc%cn,c1,c2,c3); 4.1(2)#include main() int a=12,b=15; printf(a=%d%,b=%d%n,a,b); 4.1(3)#include main() int a,b; scanf(%2d%*2s%2d, printf(%d,%dn,a,b); 4.2#include main() long a,b; float x,y; scanf(%d,%dn, scanf(%f,%fn, printf(a=%d,b=%dn,a,b); printf(x=%f,b=%fn,x,y); 5.1#include main() float a; printf(Innputa:); scanf(%f, if(a=0) a=a; printf(a=%fn,a); else a=-a; printf(a=%fn,a); 5.2#include main() int a; printf(Inputa:); scanf(%d, if(a%2=0) printf(a 是偶数); else printf(a 是奇数); 5.3#include #include main() float a,b,c,s,area; printf(Inputa,b,c:); scanf(%f,%f,%f, if(a+bc area=(float)sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%fn,area); else printf(不是三角形); 5.4#include #include main() float a,b,c,x,y; printf(Inputa,b,c:); scanf(%f,%f,%f, if(a=0) printf(该方程不是一元二次方程n); if(b*b-4*a*c0) x=(-b+sqrt(b*b-4*a*c)/(2*a); y=(-b-sqrt(b*b-4*a*c)/(2*a); printf(x=%f,y=%fn,x,y); else if(b*b-4*a*c=0) x=-b/(2*a); y=-b/(2*a); printf(x=%f,y=%fn,x,y); else printf(该方程无实根n); 5.5#include main() int year,flag; printf(Input a year:); scanf(%d, if(year%4=0 else flag=0; if(flag=1) printf(%d is a leap year !n,year); else printf(%d is not a leap year !n,year); 5.6#include main() int year,flag; printf(Input a year:); scanf(%d, flag=year%400=0|year%4=0 if(flag=1 else printf(%d is not a leap year !n,year); 5.7#include main() char ch; printf(Inputch:); scanf(%c, if(ch=a ch=ch+32; printf(%c,%dn,ch,ch); else printf(%c,ch); 5.8#include main() char ch; printf(Inputch:); scanf(%c, if(ch=48 else if(ch=32) printf(ch 是空格n); else printf(ch 是其他字符n); 5.9#include main() int score,grade; printf(Input score:); scanf(%d, grade=score/10; if(score100) printf(Input errorn); if(score=90 5.10#include main() int year,month; printf(Input year,month:); scanf(%d,%d, if(month12|month=0) printf(error monthn); else switch(year,month) case 12: case 10: case 8: case 7: case 5: case 3: case 1: printf(31 天n); break; case 11: case 9: case 6: case 4: printf(30 天n); break; case 2: if(year%4=0 else printf(28 天n); break; default: printf(Input errorn); 6.1(1)#include main() int i,j,k; char space= ; for(i=1;i=4;i+) for(j=1;j=i;j+) printf(%c,space); for(k=1;k=6;k+) printf(*); printf(n); 6.1(2)#include main() int k=4,n; for(n=0;nk;n+) if(n%2=0)continue; k-; printf(k=%dn,n=%dn,k,n); 6.1(3)#include main() int k=4,n; for(n=0;nk;n+) if(n%2=0)break; k-; printf(k=%d,n=%dn,k,n); 6.2(1)#include main() int i,sum=0; for(i=1;i=101;i+) sum=sum+i; printf(sum=%dn,sum); 6.2(2)#include main() long i; long term,sum=0; for(i=1;i=1e-5); printf(sin(x)=%f,count=%dn,sum,count); 6.3#include main() int x=1,find=0; while(!find) if(x%2=1 find=1; x+; /*int x,find=0; for (x=1;!find;x+) if(x%2=1 find=1; */ 6.4#include main() int i,n; long p=1,m=1; printf(Input n:); scanf(%d, for(i=1;i=n;i+) p=i*i; m=i*i*i; printf(p=%d,m=%dn,i,p,i,m); 6.5#include main() float c,f; for(c=-40;c0); printf(x=%dn,x); 6.7#include main() int n=0; float a=100.0,c; printf(Inputc:); scanf(%f, do a=a*(1+c); n+; while(a=1e-5) term=pow(-1,count)*(1.0/(n+2); sum=sum+term; n=n+2; count+; sum=4*sum; printf(sum=%f,count=%dn,sum,count); 6.9#include #include main() int n=1,count=1; double sum=1,term=1; while(fabs(term)=1e-5) term=term*(1.0/n); sum=sum+term; n+; count+; printf(sum=%f,count=%dn,sum,count); 6.10#include #include main() int x; for(x=100;x=999;x+) if(x=pow(x/100,3)+pow(x/10%10,3)+pow(x%10,3) printf(x=%dn,x); 6.11#include main() int i=0,n; long sum=0,term=1; printf(Inputn:); scanf(%d, do i+; term=term*i; sum=sum+term; while(sumn); printf(%dn,i-1); 6.12#include main() int i,n,m,count=0,sum=0; printf(Input n:); scanf(%d, for(i=1;i0) sum=sum+m; count+; else break; printf(sum=%d,count=%dn,sum,count); 6.13#include main() int i,n,m,count=0,sum=0; printf(Inputn:); scanf(%d, for(i=1;i0|m0) sum=sum+m; count+; else break; printf(sum=%d,count=%dn,sum,count); 6.14#include main() int x,y,z; for(x=0;x=17;x+) for(y=0;y=25;y+) 3*x+2*y+z=50; z=30-x-y; if(3*x+2*y+z=50 6.15#include main() int x,y; for(x=0;x=98;x+) y=98-x; 2*x+4*y=386; if(x+y=98 6.16#include main() int x,y,z; for(x=0;x=20;x+) for(y=0;y=33;y+) 3*y+5*x+z/3.0=100; z=100-x-y; if (5*x+3*y+z/3.0=100 6.17#include main() int x,y,z; for(x=1;x=9;x+) for(y=1;y0) printf(x=%d,y=%d,z=%dn,x,y,z); 7.1#include int Square(int i) return i*i; int main() int i=0; i=Square(i); for( ;i3;i+) static int i=1; i+=Square(i); printf(%d,i); printf(%dn,i); return 0; 7.2#include int hour,minute,second; void update() second+; if(second=60) second=0; minute+; if(minute=60) minute=0; hour+; if(hour=24) hour=0; void display() printf(%d,%d,%dn,hour,minute,second); void delay() int t; for(t=0;t100000000;t+); int main() int i; void updaye(),display(),delay(); for(i=0;i=n) return m; else return n; 7.4#include int LCM(int n,int m); int main() int a,b; printf(Inputa,b:); scanf(%d,%d, printf(%dn,LCM(a,b); return 0; int LCM(int n,int m) int x; int find=0; for(x=1;!find;x+) if(x%n=0 return x-1; 7.5#include long Fact(int n); int main() int m,a; printf(Inputm:); scanf(%d, for(a=1;a=m;a+) printf(%d!=%ldn,a,Fact(a); return 0; long Fact(int n) int i; long result=1; for(i=2;i=n;i+) result*=i; return result; 7.6#include long Fact(int n); int main() int m; long ret; printf(Inputm:); scanf(%d, ret=Fact(m); printf(ret=%dn,ret); return 0; long Fact(int n) int i; long result=1,sum=0; for(i=2;i=n;i+) result*=i; sum=sum+result; return sum; 7.7(1)#include int Gcd(int a,int b); int main() int m,n; printf(Inputm,n:); scanf(%d,%d, printf(%dn,Gcd(m,n); return 0; int Gcd(int a,int b) int t,min,find=0; min=ab?a:b; t=min; for(t=min;!find;t-) a%t=0; b%t=0; if(a%t=0 find=1; 7.7(2)#include int Gcd(int a,int b); int main() int m,n; printf(Inputm,n:); scanf(%d,%d, printf(%dn,Gcd(m,n); return 0; int Gcd(int a,int b) int r,temp; r=a%b; if(r=0) return b; else do temp=b; b=r; a=temp; r=a%b; while(r!=0); return b; 8.1(1)#include void Func(int x) x=2; int main() int x=10; Func(x); printf(%d,x); return 0; 8.1(2)#include void Func(int b) int j; for(j=0;j4;j+) bj=j; int main() static int a=5,6,7,8,i; Func(a); for(i=0;i4;i+) printf(%d,ai); return 0; 8.2(1)int PositiveNum(int a,int n) int i,count=0; for(i=0;i0) count+; return 0; 8.2(2)void Fib(long f,long n) int i;f0=0; f1=1; for(i=2;in;i+) fi=fi-1+fi-2; 8.2(3)#include int main() int a10,n,max,min,maxPos,minPos; for(n=0;n10;n+) scanf(%d, max=min=a0; maxPos=minPos=0; for(n=0;nmax) max=an; maxPos=n; else if(anmin) min=an; minPos=n; printf(max=%d,pos=%dn,max,maxPos); printf(min=%d,pos=%dn,min,minPos); return 0; 8.3void DivArray(int *pArray,int n) int i; for(i=0;in;i+) pArrayi/=pAttay0; 8.4#include #define N 40 int FailNum(int score,int n); void ReadScore(int score,int n); int main() int scoreN,n; printf(Input n:); scanf(%d, ReadScore(score,n); FailNum(score,n); printf(FailNum students are %dn,FailNum(score,n); return 0; int FailNum(int score,int n) int i,count=0; for(i=0;in;i+) if(scorei60) count+; return count; void ReadScore(int score,int n) int i; printf(Input score:); for(i=0;in;i+) scanf(%d, 8.5#include #define N 40 int HighAver(int score,int n); int ReadScore(int score); int main() int scoreN,n; n=ReadScore(score); printf(HighAver students are %dn,HighAver(score,n); return 0; int HighAver(int score,int n) int i,count=0,sum=0,aver; for(i=0;i=0); return i; 8.6#include #define N 40 int ReadScore(int score,long num); int FindMax(int score,long num,int n); int main() int scoreN,n,max,num,t; long numN; t=FindMax(score,n); max=scoret; num=numt; printf(max=%d,num=%dn,max,num); return 0; int ReadScore(int score,long num) int i=-1; do i+; printf(Input students ID and score:); scanf(%ld%d, while(numi0 return i; int FindMax(int score,long num,int n) int max,i; max=score0; for(i=1;imax) max=scorei; return i; 8.7#include #define N 40 int Read(int a); int ChangeArry(int a,int n); int main() int aN,n; printf(%dn,ChangeArry(a,n); return 0; int Read(int a) int i; for(i=0;i9;i+) printf(Input a:); scanf(%d, return i; int ChangeArry(int a,int n) int max,min,i,maxpos,minpos,term; max=min=score0; for(i=1;imax) max=scorei; maxpos=n; else(aimin) min=ai; minpos=n; temp=maxpos; maxpos=minpos; minpos=temp; return ai; 8.10#include #define N 5 void main() int aNN; int sum = 0; int i, j; printf(请输入一个%d*%d 的矩阵n,N,N); for(i = 0; i N; i+) for(j = 0; j N; j+) scanf(%d, for(i = 0; i N; i+) for(j = 0; j N; j+) if(i = j | i + j = N - 1) sum=sum+aij; printf(对角线元素之和为:%dn,sum); 8.11#include #define N 2 #define M 3 void main() int aNM,bNM; int i,j,sum1=0,sum2=0,sum=0; printf(请输入一个%d*%d 的矩阵n,N,M); for(i = 0; iN; i+) for(j = 0; j M; j+) scanf(%d, sum1=sum1+aij; printf(请输入一个%d*%d 的矩阵n,N,M); for(i = 0; i N; i+) for(j = 0; j M; j+) scanf(%d, sum2=sum2+aij; sum=sum1+sum2; printf(sum=%dn,sum); 8.12#include #define N 7 void YangHui(int aNN,int n); void main() int i,j,n,bNN; printf(Input n:); scanf(%d, YangHui(b,n); for(i=0;in;i+) for(j=0;j=i;j+) printf(%4d,bij); printf(n); void YangHui(int aNN,int n) int i,j; for(i=0;in;i+) ai0=1; aii=1; for(i=2;in;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; 8.13#include #define N 12 void main() int i; int fN=1,1; printf(%d:%dn,0,f0); printf(%d:%dn,1,f1); for(i=2;iN;i+) fi=fi-1+fi-2; printf(%d:%dn,i+1,fi); 8.14#include #include #include #define N 6000 void main() int aN,i; int b1=0,b2=0,b3=0,b4=0,b5=0,b6=0; float p1,p2,p3,p4,p5,p6; srand(time(NULL); for(i=0;iN;i+) ai=rand()%6+1; printf(%3d,ai); if(ai=1) b1+; if(ai=2) b2+; if(ai=3) b3+; if(ai=4) b4+; if(ai=5) b5+; if(ai=6) b6+; p1=(float)(b1/6000.0); p2=(float)(b2/6000.0); p3=(float)(b3/6000.0); p4=(float)(b4/6000.0); p5=(float)(b5/6000.0); p6=(float)(b6/6000.0); printf(骰子出现 1 的概率:%.2fn,p1); printf(骰子出现 2 的概率:%.2fn,p2); printf(骰子出现 3 的概率:%.2fn,p3); printf(骰子出现 4 的概率:%.2fn,p4); printf(骰子出现 5 的概率:%.2fn,p5); printf(骰子出现 6 的概率:%.2fn,p6); 9.1(1)void Swap(int *x,int *y) int *pTemp;/*pTemp 未进行初始化,*pTemp 指向哪里位置 *pTemp=*x; *x=*y; *y=*pTemp; 9.1(2)void Swap(int *x,int *y) int *pTemp; pTemp=x; x=y; y=pTemp; /错误,x,y 没有指向类型 9.2#include int main() int a=1,2,3,4,5; int *p=a; printf(%d,%d,%d,%d,%d,%d,%dn,*p,*(+p),(*p)+,*p,*p-,-(*p),*p); return 0; 9.3#include void Swap(int *x,int *y); intmain() int a6=1,2,3,4,5,6,b6=11,22,33,44,55,66; int i; printf(BeforeArray n); for(i=0;i6;i+) printf( %dn,ai); for(i=0;i6;i+) printf(%dn,bi); for(i=0;i6;i+) Swap( printf(After Array n); for(i=0;i6;i+) printf(%dn,ai); for(i=0;i6;i+) printf(%dn,bi); return 0; void Swap(int *x,int *y) int temp; temp=*x; *x=*y; *y=temp; 9.4#include #define N 10 void FindMaxMin(int a,int *pMaxa,int *pMaxnum,int *pMina,int *pMinnum); intmain() int aN; int i,maxa,mina,maxnum,minnum; printf(Input a:); for(i=0;i10;i+) scanf(%d, FindMaxMin(a, printf(maxa=%d,maxnum=%d,mina=%d,minnum=%dn,maxa,maxnum,mina,minnum); return 0; void FindMaxMin(int a,int *pMaxa,int *pMaxnum,int *pMina,int *pMinnum) int i; *pMaxa=a0; *pMina=a0; *pMaxnum=0; *pMinnum=0; for(i=0;i*pMaxa) *pMaxa=ai; *pMaxnum=i; else if(ai*pMina) *pMina=ai; *pMinnum=i; 10.1void MYStrcpy(char *dstStr,const char *srcStr) while (*dstStr+=*srcStr+)!=0) 10.2#include main() char *a=main()char *a=% c% s% c; printf(a,34,a,34);printf(a,34,a,34); 10.3(1)unsigned int MyStrlen(char *p) main() unsigned int len; len=0; for(;*pa!=0;pa+) len+; return len; 10.3(2)unsigned int MyStrlen(char s) char *p=s; while(*p!=0) p+; return (p-*p); 10.3(3)int MyStrcmp(char *p1,char *p2) for(;*p1=*p2;p1+,p2+) if(*p1=0)return -1; return 1; 10.3(4)int MyStrcmp(char s,char t) int i; for(i=0;si=ti;i+) if(si=0)return 0; return i; 10.3(5)#include #include int main() char password7=secret; char userInput81; printf(Input Password:); scanf(%s,userInput); if(strcmp(userInput,password)=0) printf(Coorrect password!Welcome to the system.n); else if(strcmp(userInput,password)0) printf(Invalid pas

温馨提示

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

评论

0/150

提交评论