c语言设计及答案_第1页
c语言设计及答案_第2页
c语言设计及答案_第3页
c语言设计及答案_第4页
c语言设计及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

c语言设计及答案PAGEPAGE71写出下面各程序的运行结果1、#includestdio.hmain(){inti=0,j=0,k=0,m;for(m=0;m4;m++)switch(m){case0:i=m++;case1:j=m++;case2:k=m++;case3:m++;}printf(“\n%d,%d,%d,%d”,i,j,k,m);}2、#includestdio.hmain(){inti=1;while(i=15)if(++i%3!=2)continue;elseprintf(“%d”,i);}3、#include<stdio.h>add1(inta[],intn){inti;for(i=0;i<n;i++)a[i]++;}main(){staticintarray[]={0,1,2,3,4,5,6,7,8,9};intj;add1(array,10);for(j=0;j<10;j++)printf(“%d”,array[j]);}4、uniondata{longw;floatx;inty;charz;}beta;main(){beta.w=123456;beta.y=888;beta.x=3.14;beta.z=’x’;printf(“%c”,beta.y);}5、#include<string.h>typedefstructstudent{charname[10];longsno;floatscore;}STU;main(){STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},c={"Anhua",2003,95},d,*p=&d;d=a;if(strcmp(,)>0)d=b;if(strcmp(,)>0)d=c;printf("%ld%s\n",d.sno,p->name);}四、程序填空1、以下程序是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请将缺省语句填上。main(){floatx,amax,amin;scanf(“%f”,&x);amax=x;amin=x;c语言设计及答案全文共10页,当前为第1页。while(①)c语言设计及答案全文共10页,当前为第1页。{if(②)amax=x;if(③)amin=x;scanf(“%f”,&x);}printf(“amax=%f,amin=%f\n”,amax,amin);}2、下面的程序是用指针来交换两个数据,请将缺省语句填上。voidexchange(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inta,b,*x,*y;a=10;b=20;x=&a;①②printf(“%d%d\n”,*x,*y);}五、程序设计题1、有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数。2、用自定义函数和数组求n个数的平均值,并用主函数调用2三、写出程序的运行结果1、#includestdio.hmain(){inta=1,b=3,c=5,d=4;if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;printf(“x=%d”,x);}2、#includestdio.hmain(){intk,j,m;for(k=5;k=1;k--){m=0;for(j=k,j=5;j++)m+=k*j;}printf(“m=%d\n”,m);}3、#include<stdio.h>main(){unionExa{struct{inta;intb;}out;intc;intd;}e;e.c=1;e.d=2;c语言设计及答案全文共10页,当前为第2页。e.out.a=e.c*e.d;c语言设计及答案全文共10页,当前为第2页。e.out.b=e.c+e.d;printf("%d%d",e.out.a,e.out.b);}4、#include“stdio.h”main(){inta[]={1,2,3,4},i,j,s=0;j=1;for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}printf(“s=%d\n”,s);}5、#include"stdio.h"#include"string.h"main(){chars1[]="somthings";chars2[]="test";chars3[]="good"; printf("%s\n",strcat(strcpy(s1,s2),s3));}四、程序填空1、下面程序输出100到200之间的素数,每行输出10个素数,请将缺省语句填上,使算法完整。#include“math.h”main(){intm,k,i,n=0;for(m=101;m=200;m=m+2){if(①)printf(“\n”);k=sqrt(m);for(i=2,i=k;i++)if(②)break;if(i=k+1){printf(“%d”,m);n=n+1;}}}2、一个函数days,实现求某月某日是该年的第多少天。由主函数将年、月、日传递给days函数,计算后将日数传回主函数输出,请将缺省语句填上,使算法完整。structy_m_d{intyear;intmonth;intday;}date;main(){intdays(int,int,int);inti,day_sum;printf(“inputyear,month,day:”);scanf(“%d,%d,%d”,&date.year,&date.month,&date.day);day_sum=days(①);printf(“\n%d/%disthe%dthdayin%d.”,date.month,date.day,day_sum,date.year);}days(intyear,intmonth,intday){intday_sum,i;intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};②for(i=1;i<month;i++)day_sum+=day_tab[i];day_sum+=day;if((year%4==0&&year%100!=0||year%4==0)&&month>=3)③return(day_sum);}五、程序设计题1,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。c语言设计及答案全文共10页,当前为第3页。#defineN16c语言设计及答案全文共10页,当前为第3页。typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b){…………}main(){STRECs[N]={{“GA05”,85},{“GA03”,76},{“GA02”,69},{“{“GA01”,91},{“GA07”,72},{“GA08”,64},{“{“GA015”,85},{“GA013”,96},{“GA012,64},{“GA{“GA011”,91},{“GA017”,64},{“GA018”,64},{“ STRECh[N]; inti,n; n=fun(s,h); printf(“The%dlowestscore:\n”,n); for(i=0;i<n;i++)printf(“%d%4d\n”,h[I].num,h[I].s);printf(“\n”);}2、从键盘输入一批字符(回车键结束),存入一个磁盘文件abc.txt中3三、写出程序的运行结果1、main(){inti,j;floats;for(i=7;i4;i--){s=0;for(j=i;j3;j--)s=s+i*j;}printf(“s=%f\n”,s);}2、#includestdio.hmain(){intk=1;charc=‘A’;do{switch(c++){case‘A’:k++;break;case‘B’:k--;case‘C’;k+=2;break;case‘D’:k=k%2;continue;case‘E’:k=k*2;break;default:k=k/3;}k++;}while(c‘F’);printf(“k=%d\n”,k);}c语言设计及答案全文共10页,当前为第4页。c语言设计及答案全文共10页,当前为第4页。3、#include<stdio.h>structscore{intmath;inteng;intcomp;};structstu{charname[12]; charsex; longStuClass; structscoresub;};main(){structstustudent1={"LiMing",'M',990324,88,80,90}; structstustudent2; student2=student1; [0]='H'; [1]='u'; student2.StuClass=990325; student2.sub.math=83; printf("%s,%c,%ld,%d,%d,%d\n",, student2.sex,student2.StuClass,student2.sub.math, student1.sub.eng,p);}4、#include“stdio.h”main(){charstr[]=”7a8b9c”;inti;for(i=0;str[i]!=’\0’;iif(str[i]>=’0’&&str[i]<=’9printf(“%c”str[i]);}5、#include“stdio.h”main(){inta[]={0,2,5,8,12,15,23,35,60,65};intx=15,i,n=10,m;i=n/2+1;m=n/2;while(m!=0){if(x<a[i]){i=i-m/2;m=m/2;}elseif(x>a[i]){i=i-m/2;m=m/2;}elsebreak;}printf(“result=%d\n”,i+1);}四、程序填空1、华氏和摄氏的转换公式为:c=5/9*(F-32),其中c表示摄氏的温度,F表示华氏的温度。要求输出从华氏0度到华氏300度,每隔20度输出一个值。main(){intupper,step;floatfahr=0;celsius;upper=300;step=20;while(①upper){②printf(“%4.0f,%6.1f\n”,fahr,celsius);③;}}答案是:①fahr②celsius=5/9*(fahr-32)③fahr+=step2、下面程序的功能是从键盘输入10个整数,去掉一个最大数和一个最小数,然后求剩下的8个数的平均值,请填空。#include“stdio.h”voidmain(){intt,a[10],max,min;floataver;for(t=0;t<10;t++)scanf(“%d”,&a[t]);aver=min=max=a[0];for(t=1;t<10;t++){if(__①____)max=a[t];if(min>a[t])②;aver=aver+a[t];}aver=aver-max-min;aver=aver/8.0;printf(“Aver=%5.2f\n”,aver);}五、程序设计题1,利用结构类型分别写出复数的加、减的运算函数,并在主函数中调用这两函数,求任意两复数的和与差。2,木马和板凳共33只,共有100只脚,编程求木马和板凳各有多少只。4c语言设计及答案全文共10页,当前为第5页。三、写出程序的运行结果c语言设计及答案全文共10页,当前为第5页。1、#includestdio.hmain(){chari,j;for(i=‘0’,j=‘9’;iprintf(“%c%c”,i,j);printf(“\n”);}2、#includestdio.hmain(){inta=2,b=-1,c=2;if(ab)if(b0)c=0;elsec+=1;printf(“c=%d\n”,c);}3、#include<stdio.h>unionmemb{floatv; intn; charc;};main(){unionmembtag,Sval;tag.n=673;Sval=tag;printf("Svalis:%d",Sval.n);}4、#include"stdio.h"main(){inti,j,a[10];for(i=1;i<=10;i++) {a[i]=1; for(j=i-1;j>=2;j--) a[j]=a[j]+a[j-1]; if(i==4) break;} for(j=1;j<=i;j++) printf("%d",a[j]);}5、#defineEXCH(a,b){intt;t=a;a=b;b=t;}main(){ intx=5,y=9; printf("x=%d,y=%d,",x,y); EXCH(x,y); printf("x=%d,y=%d\n",x,y);}四、程序填空1、下面的程序输出3到300之间的所有素数,请将缺省的语句填上,使算法完整。#includestdio.hmain(){inti,j;for{i=3;①;i++}{for(j=2;②;j++)if(③)break;if(j==i)printf(“%4d”,i);}}定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题,请将缺省的语句填上,使算法完整。struct{intyear;intmonth;c语言设计及答案全文共10页,当前为第6页。intday;c语言设计及答案全文共10页,当前为第6页。}date;main(){inti,days;intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf(“Inputyear,month,day:”);scanf(“%d,%d,%d”,①);days=0;for(i=1;i<date.month;i++)days+=day_tab[i];days+=date.day;if((date.year%4==0&&date.year%100!=0||②)&&date.month>=3)days+=1;printf(“%d/%disthe%dthdayin%d.”,date.month,date.day,days,date.year);}五、程序设计题2、对于一个卡拉OK比赛,有10位评委,各评委的分数从键盘输入,要求求出一个选手的得分。选手的得分为:所有评委中,去掉一个最高分,去掉一个最低分,剩下的求平均分即可。试编程实现此要求。c语言设计及答案全文共10页,当前为第7页。c语言设计及答案全文共10页,当前为第7页。参考答案1:三、写出程序的运行结果1、答案是:0,1,2,52、答案是:25811143、答案是:123456789104、答案是:x5、答案是:2002Shangxian四、程序填空1、答案是:①x=0②xamax③xamin2、答案:①y=&b;②exchange(x,y);五、程序设计题1、参考答案:#defineN10structstudent{charnum[6];charname[8];intscore[4];floatave;}stu[N];main(){inti,j,max,maxi,sum;floataverage;/*输入*/for(i=0;i<N;i++){printf(“\nInputscoresofstudent%d,\n”,i+1);printf(“No.:”);scanf(“%s”,stu[i].num);printf(“name:”);scanf(“%s”,stu[i].name);for(j=0;j<3;j++){printf(“score%d:”,j+i);scanf(“%d”,&stu[i].score[j]);}}/*计算*/average=0;max=0;maxi=0;for(i=0;i<N;i++){sum=0;for(j=0;j<a;j++)sum+=stu[i].score[j];stu[i].avr=sum/3.0;average+=stu[i].avr;if(sum>max){max=sum;maxi=i;}}average/=N;/*打印*/printf(“NO.namescore1score2score3average\n”);for(i=0;i<N;i++){printf(“%s%10s”,stu[i].num,stu[i].name);for(j=0;j<3;j++)printf(“%9d”,stu[i].score[j]);printf(“%8.2f\n”,stu[i].avr);}printf(“average=%6.2f\n”,average);printf(“Thehighestscoreis:%s,scoretotal:%d”,stu[maxi].name,max);}2、参考答案:c语言设计及答案全文共10页,当前为第8页。floataverage(floata[],intn)c语言设计及答案全文共10页,当前为第8页。{floataver=0;intj;for(j=0;j<n;j++)aver=aver+a[j];aver=aver/n;returnaver;}main(){floatx[10],y;intj;for(j=0;j<10;j++)scanf(“%f”,&x[j]);y=average(x,10);printf(“aver=%.2f\n”,y);}参考答案2:三、写出程序的运行结果1、答案是:x=22、答案是:m=153、答案是:484、答案是:s=12345、答案是:testgood四、程序填空1、答案是:①n%10==0②m%i==02、答案是:①date.year,date.month,date.day②day_sum=0;③day_sum+=1;五、程序设计题1、参考答案:STRECfun(STREC*a,char*b){staticSTRECh={“”,-1};intk;for(k=0;k<N;k++)if(!strcmp(a[k].num,b)){h=a[k];break;}returnh;}2、参考答案:main(){FILE*fp;charch;fp=fopen(“abc.txt”,”w”);ch=getchar();while(ch!=’\n’){fputc(fp,ch);ch=getchar();}fclose(fp);}参考答案3:三、写出程序的运行结果1、答案是:s=45.0000002、答案是:k=13、答案是:HuMing,M,990325,83,80,904、答案是:7895、答案是:result=4四、程序填空1、答案是:①fahr②celsius=5/9*(fahr-32)③fahr+=step2、答案是:①max<a[t]②min=a[t]五、程序设计题1,参考答案:structcomplex{floatre;c语言设计及答案全文共10

温馨提示

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

评论

0/150

提交评论