编程基础c语言赵淑娟课后参考答案_第1页
编程基础c语言赵淑娟课后参考答案_第2页
编程基础c语言赵淑娟课后参考答案_第3页
编程基础c语言赵淑娟课后参考答案_第4页
编程基础c语言赵淑娟课后参考答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

编程基础c语言习题答案项目一一、填空题1.函数2.main()函数3.main()函数,main()函数4.分号(;)5.编辑、编译、连接、运行二、编程题#include<stdio.h>main(){ printf("*****\n"); printf("*Dev-C++*\n"); printf("*****\n");}项目二一、填空题1.具体步骤解决方法2.数值运算算法非数值运算算法3.运行的过程中4.顺序结构选择结构循环结构5.自顶向下逐步细化模块化设计结构化编码二、编程题1.有穷性确定性有零个或多个输入有一个或多个输出有效性2.(1)显然,如果只有两个瓶子,肯定不能完成此任务,必须有一个空瓶作为过渡,其步骤如图2-13所示。图2-13变量值互换图2-14三个数比较(2)如图2-14所示,三个数a,b,c进行三次比较,输出(3)如图2-15所示,输入两个数m和n,输出这两个数的最大公约数。图2-15最大公约数任务3的拓展任务答案:1.求100以内的奇数和。算法:给循环变量i赋初值为1,循环判断i是否小于100,如果成立,循环将i加到累加变量s中,i再加2;直到循环结束。程序如下:#include<stdio.h>main(){ inti,s=0; for(i=1;i<100;i+=2) s+=i; printf("100以内的奇数和为:%d",s);}求100以内的偶数和。算法:给循环变量i赋初值为2,循环判断i是否小于等于100,如果成立,循环将i加到累加变量s中,i再加2;直到循环结束。程序如下:#include<stdio.h>main(){ inti,s=0; for(i=2;i<=100;i+=2) s+=i; printf("100以内的偶数和为:%d",s);}任务4的拓展任务答案:1.求方程式ax2+bx+c=0的根,分别考虑(1)有两个不等的实根;(2)有两个相等的实根。2.依次将10个数输入,输出其中最大的数。项目三一、填空题1.整数类型、浮点类型、字符类型、布尔类型2.大括号或{}3.a=25,b=2.54.17,22,135.12二、写出下列程序的运行结果1.n=282.x=2,y=-1,z=03.字母a的ASCⅡ码为:97字母b的ASCⅡ码为:98r=2s=12.566360b,b,98b,b,98三、编程题1.#include<stdio.h>#include<math.h>main(){doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\tc=%f\n",a,b,c);printf("area=%f\n",area);}2.#include<stdio.h>#include<math.h>main(){doublea,b,c,disc,x1,x2,p,q;scanf("%lf%lf%lf",&a,&b,&c); disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2\nx2=%7.2f\n",x1,x2);} 项目四一、填空题1.>>=<<===!==6666772.&&||!=11级左结合性12级左结合性2级右结合性3.13级右结合性表达式1?表达式2:表达式34.01103二、程序结果题1.12.63.a=4,b=44.Goodmorning!Goodevening!5.(1)2,2,4(2)1,3,3三、编程题1.#include<stdio.h>#include<math.h>main(){floata,b,c,d,x1,x2;printf("请输入方程的三个系数:");scanf("%f%f%f",&a,&b,&c);d=b*b-4*a*c;if(d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%f,x2=%f",x1,x2);}elseif(d==0){x1=x2=(-b)/(2*a);printf("x1=x2=%f",x1,x2);}elseprintf("此方程无解!");}2.#include<math.h>main(){ floatx,y; printf("请输入x的值:"); scanf("%f",&x); if(x<1)y=x; elseif(x<20)y=sqrt(2*x-1); elsey=5*x+10; printf("y=%f",y);}3.#include<stdio.h>#include<math.h>main(){floata,b;printf("请输入坐标:");scanf("%f,%f",&a,&b);if(a*a+b*b>=25&&fabs(a)<=5&&fabs(b)<=5)printf("该点在阴影区域");elseprintf("该点不在阴影区域");}4.#include<stdio.h>main(){intx,a,b,c;printf("请输入一个三位整数:");scanf("%d",&x);if(x>=100&&x<=999){a=x/100;b=x/10%10;c=x%10;if((a*a*a+b*b*b+c*c*c)==x)printf("%d是水仙花数!",x);elseprintf("%d不是水仙花数!",x);}elseprintf("输入数据错误!");}项目五一、填空题1.for语句、while语句do…while语句for语句2.循环变量赋初值循环条件判断循环变量更新3.break语句continue语句4.switch结构循环结构5.while(x)while(!x)二、程序结果题1..-13.a=2,b=94.*************************5.k=8三、编程题1.#include<stdio.h>main(){charch;for(ch='a';ch<='z';ch=ch+2) {printf("%3c",ch);}}2.#include<stdio.h>main(){inta,num;printf("输入一个整数:");scanf("%d",&num); do{a=num%10; printf("%d",a);num=num/10; }while(num); } 3.#include<stdio.h>main(){inti,t=0;for(i=1920;i<=2020;i++)if(i%4==0&&i%100!=0||i%400==0) {printf("%6d",i);t++; if(t%10==0)printf("\n"); }}4.#include<stdio.h>main(){inti,sum=0,s=1;for(i=1;i<100;i+=2) {sum+=i*s; s=-s; }printf("sum=%d",sum);}5.#include<stdio.h>main(){intn=1;doubles=0;while(1){s+=1.0/n;if(s>=6)break;n++; }printf("n=%d",n-1);}6.#include<stdio.h>main(){inti,j,k;for(i=1;i<=50/8;i++) for(j=0;j<=50/2;j++) for(k=0;k<=50/3;k++) if(8*i+2*j+3*k==50) printf("钢笔:%2d支,签字笔:%2d支,作文本:%2d本\n",i,j,k);}7.#include<stdio.h>main(){inti,m,n,r,t;t=0;scanf("%d%d",&m,&n);for(i=m;i<=n;++i) {r=i; do{if(r%10==5)t++; r=r/10; }while(r); } printf("数字5出现%d次",t);}项目六一、填空题1.10,0,0,0,02.803.空格、Tab键、回车键回车键4.%c%s5.strcmpstrlen二、程序结果题1.302.1214161415160056783.11574.goodjob5.workhard三、编程题1.#include<stdio.h>main(){inti,x0=0,x1=0,x2=0,x3=0,a[50];printf("请输入1或2或3\n");for(i=0;i<50;i++)scanf("%d",&a[i]);for(i=0;i<50;i++){if(a[i]==1)x1++;elseif(a[i]==2)x2++;elseif(a[i]==3)x3++;elsex0++;}printf("\n投票结果:候选人1:%d票,候选人2:%d票,候选人3:%d票,无效票:%d票",x1,x2,x3,x0);}2.#include<stdio.h>main(){inta[10],i,j,t;for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=0;i<9;i++) {for(j=i+1;j<10;j++) if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;} } for(i=0;i<10;i++) printf("%d",a[i]);} 3.#include<stdio.h>main(){inti;inta[20]={1,1}; for(i=2;i<20;i++) a[i]=a[i-1]+a[i-2];for(i=0;i<20;i++)printf("%6d",a[i]);}4.#include<stdio.h>intmain(){inta[4][3],i,j,max,h,l;printf("输入整数:\n");for(i=0;i<4;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);max=a[0][0];h=l=0;for(i=0;i<4;i++){for(j=0;j<3;j++){if(a[i][j]>max){max=a[i][j];h=i;l=j;}}}printf("最大值为%d,行标为%5d,列标为%d\n",max,h,l);}5.#include<stdio.h>main(){floatscores[5][4],aves[5],avec[4];inti,j;printf("输入5个学生的4门课程成绩:\n");for(i=0;i<5;i++) for(j=0;j<4;j++)scanf("%f",&scores[i][j]);for(i=0;i<5;i++){aves[i]=0; for(j=0;j<4;j++)aves[i]+=scores[i][j];aves[i]/=4; }printf("\n每个学生的平均成绩:\n");for(i=0;i<5;i++) printf("%8.2f",aves[i]);for(i=0;i<4;i++) {avec[i]=0; for(j=0;j<5;j++) avec[i]+=scores[j][i];avec[i]/=5; }printf("\n每门课程的平均成绩:\n");for(i=0;i<4;i++) printf("%8.2f",avec[i]);}6.#include<stdio.h>main(){charc[100];intn=0,i=0; printf("输入一个字符串:\n");gets(c);while(c[i]!='\0'){n++;i++;}printf("长度为%d",n);}项目七一、填空题1.形参、实参2.数组名3.全局、局部、静态存储变量、动态存储变量4.void5.值传递、地址传递二、写出下列程序的运行结果1.Inmain,a=0,b=520Infunc,a=880,b=120Inmain,a=880,b=5202.Inmain,互换前:x=3,y=5Inswap,互换前:x=3,y=5Inswap,互换后:x=5,y=3Inmain,互换后:x=3,y=53.6254.1005.CDEF三、编程题1.#include<stdio.h>floatarea(floata,floatb){returna*b;}main(){floatl,w,s;printf(“请输入长方形的长和宽:”);scanf(“%f%f”,&l,&w);s=area(l,w);printf(“长方形的面积为:%10.2f\n”,s);}2.#include<stdio.h>#defineN100intserch(inta[],intn,intx){inti;for(i=0;i<n;i++)if(a[i]==x)returni;elsereturn-1;}main(){inta[N]={28,5,37,45,11,9,28,10,89,64};intx,pos;printf(“输入所要查找的整数:”);scanf(“%d”,&x);pos=serch(a,10,x);if(pos>=0)printf(“在第%d个位置\n”,pos+1);elseprintf(“查找失败!\n”);}项目八一、填空题1.取变量地址2.33.int(*p)[4];4.05.3二、写出下列程序的运行结果1.10,One*Dreame!2.63.364.195.2143三、编程题1.#include<stdio.h>main(){inta[3][4],*ptr;inti,j;ptr=a[0];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf(“%d”,ptr++);ptr=a[0];for(i=0;i<3;i++){for(j=0;j<4;j++)printf(“%4d”,*ptr++);printf(“\n”,);}}2.#include<stdio.h>int*max(inta[],intn){int*p,i;for(p=a,i=1;i<n;i++)if(*p<a[i])p=a+i;return(p);}main(){inta[10],*q,i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);q=max(a,10);printf(“\nMAX=%d”,*q);}项目九:一、填空题1.structunion2.结构体变量名.成员名成员运算符3.8个字节4.可以不能5.typedef二、程序结果题1.8,22.8,83.12,44.x.a=5368x.s[0]=68,x.s[1]=53x.a=15.15,q三、编程题1.#include<stdio.h>typedefstructstudent{ intnum; charname[20]; floatscore;}STUD;main(){ inti,m; floatmax; STUDstu[5]={{101,"王海",92}, {102,"李琛",95}, {103,"苏晓菲",88}, {104,"王子墨",86}, {105,"杨静",98} }; m=0; max=stu[0].score; for(i=1;i<5;i++) {if(stu[i].score>max) {max=stu[i].score; m=i; } } printf("最高分学生的信息:\n"); printf("%d%s%5.1f\n",stu[m].num,stu[m].name,max);}2.#include<stdio.h>typedefstructstudent{ intnum; charname[20]; floatscore;}STUD;main(){ inti,j;STUDstud; STUDstu[5]={{101,"王海",92}, {102,"李琛",95}, {103,"苏晓菲",88}, {104,"王子墨",86}, {105,"杨静",98} }; for(i=0;i<5;i++) {for(j=i+1;j<5;j++) if(stu[j].score>stu[i].score) {stud=stu[i]; stu[i]=stu[j]; stu[j]=stud; } } printf("按照成绩排序后的学生信息如下\n"); for(i=0;i<5;i++) printf("%-5d%-20s%.2f\n",stu[i].num,stu[i].name,stu[i].score);} 3.#include<stdio.h>unioneyes{intdu;floatshi;};typedefstructstudent{ intnum; charname[20]; charglasses; unioneyesshili;}STUD;main(){ inti,j; STUDstu[5]={{101,"王海",'y'}, {102,"李琛",'n'}, {103,"苏晓菲",'y'}, {104,"王子墨",'n'}, {105,"杨静",'y'} }; printf("请输入眼镜度数或视力:");for(i=0;i<5;i++){if(stu[i].glasses=='y')scanf("%d",&stu[i].shili.du);elsescanf("%f",&stu[i].shili.shi); } printf("戴眼镜的学生信息如下:\n"); for(i=0;i<5;i++)if(stu[i].glasses=='y')printf("%d%15s%3c眼镜%d度\n",stu[i].num,stu[i].name,stu[i].glasses,stu[i].shili.du);printf("不戴眼镜的学生信息如下:\n"); for(i=0;i<5;i++)if(stu[i].glasses=='n')printf("%d%15s%3c视力为%.1f\n",stu[i].num,stu[i].name,stu[i].glasses,stu[i].shili.shi);}项目十:一、填空题1.普通文件设备文件2.ASCII码文件二进制码文件3.文件指针4.文件读写位置标记5.文件结束判断函数feof()二、程序结果题1.Hell2.Jinanng3.13579三、编程题1.#include<stdio.h>main(){ charstr[100]; FILE*fp;inti=0;if((fp=fopen(“test.dat”,”w+”)==NULL){printf(“不能打开该文件\n);return;}printf(“inputastring:”);gets(str);while(str[i]){if(str[i]>=’a’&&str[i]<=’z’)str[i]=str[i]-32;putc(str[i],fp);i++;}fclsoe(fp);fp=fopen(“test.dat”,”r+”);fgets(str,strlen(str)+1,fp);printf(“%s\n”,str);fclose(fp);}}2.#include<stdio.h>#include<stdlib.h>main(){ FILE*fp;charitem[30],a;inti;if((fp=fopen(“beiwang.txt”,”w”)==NULL){printf(“打开文件失败\n”);getch();exit(0);}fprintf(fp,”%s\t%s\n”,”序号”,”事项”);printf(“请输入备忘:\n”);for(i=0;i<10;i++){gets(item);

温馨提示

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

评论

0/150

提交评论