欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机c语言习题答案.docx

    • 资源ID:68339183       资源大小:68.48KB        全文页数:68页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机c语言习题答案.docx

    C语言习题答案第1章1 .选择题(1) c (2) B (3) D2 .填空题(l)main (2) main (3)有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)顺序、分支和循环(5)自顶向下,逐步细化、模块化设计、结构化编码第2章1 .选择题BBCDA DDBBA BBDCB2、填空题(1)数字、字母、下划线(2)0(3)4、8(4)(a+b)*c/(a-b)(5)60(6)16(7) 3(8)6、4、2(9)0(10)10、6(11)5.500000(12)12、4(13) double (14)0(15)16(16)6.63、编程题(1) main ()printf(int:%5dn Afloat :%5dnz/char:%5dn“double:%5dnlong:%5dn, sizeof (int), sizeof(float), sizeof(char), sizeof (double), sizeof(long);(2)ttinclude <stdio. h>#define RAT 1.60934 main()float k=0.0;printf("input the km:); scanf(f,&k);printf (,nmile:%f,/, k*RAT);第3章1 .选择题(1)(10): DDCDCDCDBC2 .解析题(1)x=170, x=U M U 170, x=U M U 252,170x=170, x=170 M M M ,x= M M U 170,x二%6da=513.789185, a= M M 513.79, a=513.78918457, a=513.78918457(2) a=3 U b=7x=8.5 M y=71.82cl=A M c2二 a 3.编程题(1) main()int x, y;scanf(%d%d,&x,&y);printf (商数二%d,余数=%d,x/y, x%y);system (z/pausezz);(2) main()double x, y, z, avg;scanf(/z%lf%lf%lf/z,&x,&y,&z);avg=(x+y+z)/3;printf (. llfzz, avg, avg);system("pause");第4章1.选择题1 1)(10) CCAADCCABD2 .填空题ch=ch-32(1) ch>='A'&& chC'Z'(2) x<-10&& x>2x<=2&& x>-ly二T(3) a+b>c && a+c>b && b+c>a a=bac bc(4) mark/10k=lcase 9(5) x<0c=x/10y!=-23.编程题(1)#include <stdio. h>main()int x;printf (z,please input a number:/z);scanf(%d,&x);if(x%2=0) printf(/zx is a even number");elseprintf(z/x is a oddnumber");)(2)#include <stdio. h>main()int x, y;printf (/zplease input a number£°);scanf(d,&x);if (x<=-5) printf(/zthe number is error );else if (x<0)y=x;printf(%d, y);elseif (x=0)y=x-l;printf(%d,y);elseif (x<10)y=x+l;printf(%d, y);else printf("the number is error );)(3)#include <stdio. h>main() int a, m;printf (z/please input a number:z/);scanf (%d,&a);switch(a/10) case 0:case 1:case 2:m=l;break;case 3:m=2;break;case 4:m=3;break;case 5:m=4;break;default:m=5;break;)printf(%d, m);(4)#include <stdio. h>main()float price,tax;printf(z/please input the price of product:);scanf(%f,&price);if (price>10000) tax=price*。.05;else if (price>5000) tax=price*。.03;else if (price>1000) tax=price*。.02;else tax=0;printf (z,%fz/, tax);(5) #include <stdio. h>main()float score;printf(z/please input the score of student:);scanf(%f,&score);if (score二85) printf (ZZVERY GOOD");else if(score>=60) printf("GOOD"); else printf(BAD);第5章1 .选择题(l)d (2) c (3)a (4)d(5)a(6)d(7)d(8)b(9)d(10)b(ll)c (12)b(13)d(14)a(15)c2 .填空题(1)=0 m=m/k k+(2)546(3)3*i-2(4)-二*=(5)852(6) j+i%j=0 j>=i(7) sum<k sum=k j-2(8) s=0p=l j<=i3.改错题(1)第一处改正:For改为for第二处改正: ave=sum/4改为ave=sum/4.0(2)第一处改正:j<=9第二处改正:m=100*i+10*j+k3.编程题(1)#include <math. h>main()int s;float n, t, sum;t=l; sum=0; n=l; s=l.0;while(n<=100)sum=sum+t;n=n+l;s 二一 s;t=s/n;printf (/zsum=%10.6fn,sum);)(2)利用辗除法,直到b为。为止main() int p, r, n, m, temp;printf ("input two integer n, m:); scanf (/z%d,%d,&n,&m);if(n<m) temp=n;n=m;m=temp;p=;while(m!=0)(r=n%m;n=m;m二 r;)printf (''greatest common divisor is:%dn, n);最大公约数printf (''lease common multipleis:%dn, p/n);最小公倍数(3)采取逆向思维的方法,从后往前推断。 main ()(int day, xl, x2;day=9;x2=l;while (day>0)xl=(x2+l)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=xl;day-;)printf (/zthe total is %dn,xl);(4)#include <stdio. h>main()long int n=l;for (i=l;i<=10;i+)n=n*i;printf (i%5=0?,z%2d!=%-101dnz,:2d!=%T01d,i, n);)(5)main()int m, s, i ;for(m=2;m<1000;m+) s=0;for(i=l;i<m;i+)if (m%i)=0) s=s+i;if(s=m) printf (/z%d its factors are ,m); for(i=l;i<m;i+)if (m%i=0) printf (d,,i);printf(n);(6)#include <stdio. h>main()int n, i, j;scanf(%d,&n);for(i=l;i<=n;i+) for(j=l;j<=n+i-l;j+)if (j<=n-i) printf (z/);else printf (*);printf(n);)(7)#include<math. h>main()|float xO, xl, x2, fxO, fxl, fx2; do printf (Z/Enter xl & x2:);scanf (%f,%f/z,&xl,&x2);fxl=xl*(2*xl-4)*xl+3)-6;fx2=x2*(2*x2-4)*x2+3)-6;while(fxl*fx2>0);do x0=(xl+x2)/2;fxO=xO*(2*x0-4)*x0+3)-6; if(fxO*fxl)<0) x2=x0;fx2=fx0;)else xl=xO;fxl=fxO;)while(fabs(fxO)>=le-5);printf (x二%6.2fn,xO);第6章1 .选择题CCDCC AADBD2 .写出程序的运行结果(1) sum=6(2) Max=9, row=l, col=0(3)01 02 103 210(4) -53、填空(1) i=j=k=0、i<4、 j<5、(2) si、 s 0, s 1> str, s 1>s 2,str4、编程题(3)#include <stdlib. h>main()int a12, count=0, i;randomize ();for (i=0;i<12;i+)a i=5+random(11);for(i=0;i<12;i+)printf(%5d, ai);count+;if (count%4=0) printf (n)getchO ;(4)main()|int a5=2,23,43,77,33);int max, min, i ;long sum=0L;int count=0;float av;max=min=a0;for(i=0;i<5;i+)sum+=ai;if(ai>max)max=ai;if (ai<min)min=ai;av=(float)sum/5;for (i=0;i<5;i+)if(ai>av)count+;printf(max:%dnmin:%dnav:%fncount:%d/z, max, min, av, count);getchO ;(5)main()intscore30=61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,85,89,90,33,44,55,91,92,93);inti,count90=0, count80=0, count70=0, count 60=0;for(i=0;i<30;i+)(printf (z/intput NO.%d student,sscore:/z, i+1);scanf(%d,score+i);for(i=0;i<30;i+)if(scorei>=90)(count90+;count80+;count70+;count60+;)else if(scorei>=80)count80+;count70+;count60+;else if(scorei>=70)(count70+;count60+;)else if(scorei>=60)(:count60+;printf(060:%dn6070:%dn7080:%dn 8090:%dn90100:%d,30-count60, count 60-count70, count70-count80,count80-co unt90, count90);printf (/zn60orhigher :%dn70orhigher:%dn80orhigher:%dn90orhigher :%dn/z, count60, count70, count80, count90);getchO ;(6)1、main ()(char a45;int i, j, k;for(i=0;i<45;i+)ai='for(i=0;i<5;i+)(for(j=0;j<i;j+)a9*i+j=''for (k=0;k<5;k+) a9*i+j+k='*')j=0;for(i=0;i<45;i+)printf (级c, ai);j+;if (j%9=0) printf (n);getchO ;2、main()char a59;int i, j, k;for (i=0; i<5; i+)for(j=0;j<9;j+)aij-,;for(i=0;i<5;i+)for(j=0;j<i;j+)for (k=0;k<5;k+) aij+k=*')for(i=0;i<5;i+)for(j=0;j<9;j+)printf (%c,aij);printf(n);getchO ;第7章1 .选择题DCCBD CADAC BD2 .填空(1)函数(2)刘ain函数(3)变量声明部分、函数体(4)形式参数、实际参数、实参、形参(5)常量、变量、表达式(6)函数定义时函数值、函数定义时函数值(7)30,20,10(8) max (max (a, b), c)>(x>y?x:y)(9) str=abdef(10) 8,17(11) a=5a*a=25a*a*a=512(12)sixsi*ZTX XjX#xfx si*lx *A* vt*«A*>TX >TX xTx XTTXsix slz *Jx *lx*Jx vl*>TX >TX*TX >TX XlX >TX#«lz xfx *1* vt* vlx vl*TX >TX XT* XT* XT*>TXxfx sl*lx *A* vt*«A*>TX >TX XTX XTTX#si* six xlzsi*>TX XT* XT% XjX XT*3、编程题(1)long act(long n)if (n=l | n=0) return IL;elsereturn n*act(n-l);main()int n=3;printf(n!=%ld,act(n);getchO ;(2)void mmax(float a, int n); main()float a6;int i;for(i=l; i<=5; i+)scanf;a0=l;mmax(a,5);printf (%f %fnz/, aa0, a0);)void mmax(float a, int n)if(n<=0)return;elseif (an>aa0) a0=n;mmax (a, n-l);)(3)#include <string. h>main()char a40;int i=0;for (;i<=40;i+)scanf(;int count=0, i=0, len, flag=0;len=strlen(a);while(!flag&&i<len)if(ai='A')flag=l;i+;while(flag&&i<len)i+;if (ai='A')flag=O;count+;printf(%c, ai-l);)printf (/zncount :%dz/, count);getchO ;(4)my_strcpy( char dst, char src)int i=0;while (srci!='0')dsti=srci;i+;dsti='0'int main ()char a12; char b12;gets (b);mystrcpy(a,b);puts(a);第8章2.编程题(1)/*习题8-2-1*/defineISALPHA(a)(a)>='A'&&(a)二'Z')|(a)>='a'&&(a)<=z,)main() char c;scanf(c,&c);printf (z,%dn/z, ISALPHA(c);(2)/*习题8-2-2*/#define SWAP(t, x, y)t w; y=w; main() double a=99.99, b=ll.11;SWAP(double, a,b);printf (%f,%fn?,, a, b);(3)/*习题8-2-3*/#include stdio. hdefine MAX 80define CHANGE 1 main() char strMAX;int i;printf (Z/Input text:n/z); gets(str);#if(CHANGE) for (i=0;i<MAX;i+) if(stri!='0')if (str i>=,a'&&str i<? z'A'&&str i<5 Z') stri+=l; elseif (str i=,z'| str i=二'Z') stri-=25; ttendif printf("output:n%s,str);(4)/*习题8-2-4*/defineLEAP_YEAR (y)(y%4=0)&&(y%100!=0)|(y%400=0) main() int year;printf (,zInput year:z/);scanf(d,&year); if(LEAP-YEAR(year) printf (z/%d is a leapyear.n,year); elseprintf (/z%d is not a leap year.n,year);(5)/*习题8-2-5. h */#ifndef X8_2_5_H#define X8_2_5_H#define AVER(a, b, c)(a+b+c)/3.0#endif/*习题8-2-5*/#include X8_2_5. hmain() int a, b, c;printf (Z/Input three integers a, b, c:);scanf (d,%d,%d,&a,&b,&c);printf (z/Averageis %f.n/z, AVER (a, b, c);4.编程题(1)/*习题9-4-1*/#include <stdio. h>#include <string. h>main() char *strl20,*str220,*str320;char swap ();printf (''Input three line:nz/);gets (strl);gets(str2);gets (str3);if(strcmp(strl, str2)>0)swap(strl, str2);if(strcmp(strl, str3)>0)swap(strl, str3);if(strcmp(str2, str3)>0)swap(str2, str3);printf("Now, the order is:n); printf (z/%sn%sn%sn,z, strl, str2, str3) char swap (char *pl, char*p2)/*交换两个字符串*/ char *p20;strcpy (p,pl);strcpy(pl,p2);strcpy(p2,p);(2)/*习题9-4-2*/main() int number20, n, m, i;printf (Z/How many numbers?");/*共有多少个数*/scanf(%d,&n);printf (z/Input %d numbers:n,n);/*输入n个数*/for(i=0;i<n;i+)scanf (/z%d/z,&number i);printf (Z/How many place you want tomove?");/*后移多少个位置*/scanf(%d,&m);move(number, n, m);/*调用move函数*/printf (Z/Now, they are:nz/);for(i=0;i<n;i+)printf (z/%d /z, number i);move (int array20, int n, int m)/*循环后移函数*/ int *p,arrayend;array_end=*(array+n-1);for(p=array+n-l;p>array;p-)*p=*(p-l);*array=array_end;m;if(m>0)move(array,n,m);/*递归调用,当循环次数m减至0时,停止调用*/(3)/*习题9-4-3*/#include<stdio. h>#include<string. h>define TOTAL 7int mseek(char*str, char xstr, int n) int i;for(i=0; i<n; i+) if (strcmp(stri, xstr)=0) return 1;)return 0;1main() char*nameTOTAL=“Lining","Linsha n ,1lanyuan , Zhangqiang , Haipo , r angbing"char xname20;printf(''enter a name:");gets(xname);if(mseek(name, xname, TOTAL) printf("Found!n);else printf (/zNot found!n,z);(4)/*习题9-4-4*/#include <stdio. h>#include <string. h>int fun (char *str, int num4) int i;for(i=0; i<4; i+) numi=0;while(*str!='0') if(*str>='a'&&*str='z'*str='A'&&*str='Z') num0+;else if(*str二二'') numl+;else if(*str>='O'&&*str二'9') num2+;elsenum3+;str+;define N 80main() int stringN, n4, i;gets (string);fun(string, n);for(i=0; i<4; i+)printf ('绘dt, ni);)(5)/*习题9-4-5*/#include <stdio. h>main() int a55,*p, i,j;void change (int *p);printf ("Input matrix:nz/);for (i=0;i<5;i+)/*输入矩阵*/for(j=0;j<5;j+)scanf(d,&aij);p=&aO0;/*使P指向0行0列元素*/ change (p);/*调用函数,实现交换*/ printf (Z/Now, matrix:n); for (i=0;i<5;i+)/*输出已交换的矩阵*/ for(j=0;j<5;j+)printf(%4d,aij); printf (n);voidchange(int*p)/*交换函数*/ int i, j, temp;int *pmax,*pmin;pmax=p;pmin=p;for (i=0; i<5; i+)/*找最大值和最小值的地址,并赋给pmax, pmin*/for(j=0;j<5;j+)if(*pmax<*(p+5*i+j)pmax=p+5*i+j;if(*pmin*(p+5*i+j) pmin=p+5*i+j;temp=*(p+12);/*将最大值换给中心元素*/* (p+=*pmax;* pmax=temp;temp=*p;/*将最小值换给左上角元素*/* p二*pmin;* pmin=temp;pmin=p+l;for(i=0;i<5;i+)/*找第二最小值的地址赋给pmin*/ for(j=0;j<5;j+)if(p+5*i+j)!=p)&&(*pmin>*(p+5*i+j) pmin=p+5*i+j;temp=*pmin;/*将第二最小值换给右上角元素*/*pmin=*(p+4);*(p+4)=temp;pmin=p+l;for (i=0;i<5;i+)/*找第三最小值的地址赋给pmin*/ for(j=0;j<5;j+)if(p+5*i+j)!=(p+4)&&(p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)pmin=p+5*i+j;/*将第三最小值换给左下角元素*/temp=*pmin;*pmin=*(p+20);(p+20)=temp;pmin=p+1;for (i=0;i<5;i+)/*找第四最小值的地址赋给pmin*/for(j=0; j<5; j+)if(p+5*i+j)!=p)&&(p+5*i+j)!=(p+4)&&(p+5*i+j)!=(p+20)&&(*pmin*(p+5*i +j)pmin=p+5*i+j;temp=*pmin;/*将第四最小值换给右下角元素*/*pmin=*(p+24);*(p+24)=temp;(6)/*习题9-4-6*/#include <stdio. h>main() void avsco (float *psco, float *pave);void avcourl (char *pcou, float *psco);void fali2(char course510, intnum4, floatscore45, floataver4);void good(char course510, int num4, floatscore45, floataver4);int i, j,*pnum, num4;floatscore45, aver4,*psco,*pave;char course510,*pcou;printf (''Input course:n);pcou=course0;for(i=0;i<5;i+)scanf(s,coursei);printf (''Input NO. and secures:n);printf (N0.);for (i=0;i<5;i+)printf(,s,coursei);printf(n);psco=&score00;pnum=&num0;for(i=0;i<4;i+) scanf(d, pnum+i);for(j=0;j<5;j+) scanf(, psco+5*i+j);pave=&aver0;printf(nn);avseo(psco, pave);/*求出每个学生的平均成绩*/ avcourl(pcou, psco);/*求出第一门课的平均成绩*/printf(nn);fali2(pcou, pnum, psco, pave);/*找出2门课不及格的学生*/printf(nn);good(pcou, pnum, psco, pave);/*找出成绩好的学生*/)void avsco(float *psco, float *pave)/*求每个学生的干均成绩的函数*/ int i,j;float sum, average;for (i=0;i<4;i+) sum=0.0;for (j=0;j<5;j+)sum=sum+(*(psco+5*i+j);/*累计每个学生的各科成绩*/average=sum/5;/*计算平均成绩*/*(pave+i)=average;void avcourl(char *pcou, float *psco)/*第一门课的平均成绩的函数*/ int i;float sum, average1;sum=0.0;for(i=0;i<4;i+)sum=sum+(*(psco+5*i);/*累计每个学生的得分*/averagel=sum/4;/*计算平均成绩*/printf (/zcourse 1:%s , averagescore:%6.2f.n,pcou, averagel);void fali2(charnum4, floataver4)course510, intscore45, float/*找两门以上课程不及格的学生的函数*/ int i, j, k, label;printf (=Student who is fail =n);printf (z, NO.);for (i=0;i<5;i+)printf (%10s,course");printf (z, averagenz/);for(i=0;i<4;i+) label=0;for(j=0;j<5;j+)if(scoreij)<60.0) label+;if(label>=2) printf (z/%5d/z, numi);for (k=0;k<5;k+)printf (/z%10.2f,scoreik);printf (z/%10.2fn,aver i);void good(char course510, intnum4, float aver4)score45, float/*找成绩优秀的学生(各门85分以上或平均90分以上)的函数*/ int i, j, k, n;printf C-二Student whose score is good=n);printf (/z NO.);for (i=0;i<5;i+)printf(%10s,coursei);printf (z/ averagenz/);for(i=0;i<4;i+) n=0;for(j=0;j<5;j+)if (scoreij)>85.0) n+;if (n=5)|(averi>=90) printf (z/%5d,z, numi);for(k=0;k<5;k+)printf(10.2f,scoreik);printf (z/%10.2fn,aver i);)(7)/*习题9-4-7*/#include <math. h>doublesigma(doub1e(*fn)(double),double 1,double u) double sum=0, d;

    注意事项

    本文(计算机c语言习题答案.docx)为本站会员(无***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开