C语言程序设计基础周玫习题答案_第1页
C语言程序设计基础周玫习题答案_第2页
C语言程序设计基础周玫习题答案_第3页
C语言程序设计基础周玫习题答案_第4页
C语言程序设计基础周玫习题答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

课后习题答案一、填空题1.汇编语言、高级语言。2..c3.stdio.h4..exe二、选择题1.B2.C3.D4.A5.C三、简答题1.(1)语言简洁、紧凑,使用方便、灵活。(2)运算符丰富。(3)数据类型丰富。(4)具有结构化的控制语句。(5)语法限制不太严格,程序设计自由度大。(6)C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。(7)用C语言编写的程序可移植性好。(8)生成目标代码质量高,程序执行效率高。2.(1)有穷性:一个算法应包含有限的操作步骤。(2)确定性:算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。(3)有零个或多个输入。所谓输入是指在执行算法是需要从外界取得必要的信息。(4)有一个或多个输出。算法的目的是为了求解,“解”就是输出。(5)有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。四、编程题1.第二章习题参考答案1)C2)B3)C4)B5)A6)A7)D8)D9)C10)D11)B12)B13)2614)12415)64216)10617)118)019)920)*3.140000,3.142*课后习题答案1、#include"stdio.h"voidmain(){inta,b,c,max;printf("pleaseinputa,b,c:");scanf("%d%d%d",&a,&b,&c);if(a>b)if(a>c) max=a; else max=c; elseif(b>c) max=b; else max=c;printf("max=%d\n",max);}2、#include"stdio.h"voidmain(){intn;scanf("%d",&n);if(n%2==0)printf("%d是偶数\n",n); else printf("%d是奇数\n",n);}3、#include"stdio.h"voidmain(){floatm,kg,bmi;//m表示身高,kg表示体重printf("请输入身高和体重m,kg:");scanf("%f%f",&m,&kg);bmi=kg/(m*m);if(bmi<18)printf("bmi指数为%.1f,体型偏瘦!\n",bmi);elseif(bmi<25)printf("bmi指数为%.1f,体型正常!\n",bmi);else printf("bmi指数为%.1f,体型偏胖!\n",bmi);}4、#include"stdio.h"voidmain(){floatx,y;printf("请输入坐标x,y:");scanf("%f%f",&x,&y);if(x*x+y*y>2)printf("该坐标点在圆外!\n"); elseif(x*x+y*y<2) printf("该坐标点在圆内!\n"); else printf("该坐标点在圆上!\n");}5、#include"stdio.h"voidmain(){floattotal,d;//total表示购物金额,d表示折扣printf("请输入购物金额:");scanf("%f",&total);if(total<500)d=1;elseif(total<1500)d=0.9;elseif(total<3000)d=0.8;elsed=0.7;total=total*d;printf("实际支出的购物金额是:%.2f\n",total);}6、#include"stdio.h"voidmain(){intyear,month,days;printf("请输入年和月:");scanf("%d%d",&year,&month);switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)//闰年的判断days=29;elsedays=28;}printf("%d年%d月有%d天!\n",year,month,days);}7、#include"stdio.h"voidmain(){floata,b,c;//a,b为两个操作数,c是计算结果charch;//ch是运算符printf("请输入a,ch和b:");scanf("%f%c%f",&a,&ch,&b);switch(ch){case'+':c=a+b;break;case'-':c=a-b;break;case'*':c=a*b;break;case'/':c=a/b;}printf("%f%c%f=%.2f\n",a,ch,b,c);}课后习题答案一、选择题1.A2.D3.A4.A5.C二、编程题1.2.3.4.项目5数组答案一、选择题1-5.BADDC6-10.DCBDB二、填空题1.a[0][0]a[2][4]2.063.1204.5scanf("%d",&a[2]);5.666.117.string.h第六章习题参考答案1)A2)D3)D4)B5)D6)C7)B8)D9)B10)D11)B12)i13)302514)#include<stdio.h>#include<math.h>floatx1,x2,disc,p,q;voidmain(){voidgreater_than_zero(float,float);voidequal_to_zero(float,float);voidsmaller_than_zero(float,float);floata,b,c;printf("inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("equation:%5.2f*x*x+%5.2f*x+%5.2f=0\n",a,b,c);disc=b*b-4*a*c;printf("root:\n");if(disc>0){greater_than_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}elseif(disc==0){equal_to_zero(a,b);printf("x1=%f\t\tx2=%f\n",x1,x2);}else{smaller_than_zero(a,b);printf("x1=%f+%fi\tx2=%f-%fi\n",p,q,p,q);}}voidgreater_than_zero(floata,floatb){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);}voidequal_to_zero(floata,floatb){x1=x2=(-b)/(2*a);}voidsmaller_than_zero(floata,floatb){p=-b/(2*a);q=sqrt(-disc)/(2*a);}15)#include<stdio.h>#include<string.h>voidmain(){charstr[80];voidinsert(char[]);printf("inputfourdigits:");scanf("%s",str);insert(str);}voidinsert(charstr[]){inti;for(i=strlen(str);i>0;i--){str[2*i]=str[i];str[2*i-1]='';}printf("output:\n%s\n",str);}课后习题答案一、填空题1.#define2.#undef3.#if/#else/#endif、#ifdef、#ifndef4.#include二、选择题1.B2.D3.A4.D5.D三、读程序题1.880 2.12 3.2四、编程题1.第八章习题参考答案1)C2)B3)C4)B5)A6)A7)A8)B9)C10)B11)B12)A12)D13)D14)A15)*pmax=*px16)efgh17)max(inta,intb)18)#include<stdio.h>voidmain(){voidinput(int*);voidmax_min_value(int*);voidoutput(int*);intnumber[10];input(number);max_min_value(number);output(number);}voidinput(int*number){inti;printf("input10numbers:");for(i=0;i<10;i++)scanf("%d",&number[i]);}voidmax_min_value(int*number){int*max,*min,*p,temp;max=min=number;for(p=number+1;p<number+10;p++)if(*p>*max)max=p;elseif(*p<*min)min=p;temp=number[0];number[0]=*min;*min=temp;if(max==number)max=min;temp=number[9];number[9]=*max;*max=temp;}voidoutput(int*number){int*p;printf("Now,theyare:");for(p=number;p<number+10;p++)printf("%d",*p);printf("\n");}19)#include<stdio.h>voidmain(){intlength(char*p);intlen;charstr[20];printf("inputstring:");scanf("%s",str);len=length(str);printf("Thelengthofstringis%d.\n",len);}intlength(char*p){intn;n=0;while(*p!='\0'){n++;p++;}return(n);}20)#include<stdio.h>voidmain(){voidavsco(float*,float*);voidavcour1(char(*)[10],float*);voidfali2(charcourse[5][10],intnum[],float*pscore,floataver[4]);voidgood(charcourse[5][10],intnum[4],float*pscore,floataver[4]);inti,j,*pnum,num[4];floatscore[4][5],aver[4],*pscore,*paver;charcourse[5][10],(*pcourse)[10];printf("inputcourse:\n");pcourse=course;for(i=0;i<5;i++)scanf("%s",course[i]);printf("inputNO.andscores:\n");printf("NO.");for(i=0;i<5;i++)printf(",%s",course[i]);printf("\n");pscore=&score[0][0];pnum=&num[0];for(i=0;i<4;i++){scanf("%d",pnum+i);for(j=0;j<5;j++)scanf("%f",pscore+5*i+j);}paver=&aver[0];printf("\n\n");avsco(pscore,paver);//求出每个学生的平均成绩avcour1(pcourse,pscore);//求出第一门课的平均成绩printf("\n\n");fali2(pcourse,pnum,pscore,paver);//找出2门课不及格的学生printf("\n\n");good(pcourse,pnum,pscore,paver);//找出成绩好的学生}voidavsco(float*pscore,float*paver)//求每个学生的平均成绩的函数{inti,j;floatsum,average;for(i=0;i<4;i++){sum=0.0;for(j=0;j<5;j++)sum=sum+(*(pscore+5*i+j));//累计每个学生的各科成绩average=sum/5;//计算平均成绩*(paver+i)=average;}}voidavcour1(char(*pcourse)[10],float*pscore)//求第一课程的平均成绩的函数{inti;floatsum,average1;sum=0.0;for(i=0;i<4;i++)sum=sum+(*(pscore+5*i));//累计每个学生的得分average1=sum/4;//计算平均成绩printf("course1:%saveragescore:%7.2f\n",*pcourse,average1);}voidfali2(charcourse[5][10],intnum[],float*pscore,floataver[4])//找两门以上课程不及格的学生的函数{inti,j,k,labe1;printf("==========Studentwhoisfailintwocourses=======\n");printf("NO.");for(i=0;i<5;i++)printf("%11s",course[i]);printf("average\n");for(i=0;i<4;i++){labe1=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)<60.0)labe1++;if(labe1>=2){printf("%d",num[i]);for(k=0;k<5;k++)printf("%11.

温馨提示

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

评论

0/150

提交评论