第五章 编程题.docx
- 文档编号:8875754
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:8
- 大小:62.43KB
第五章 编程题.docx
《第五章 编程题.docx》由会员分享,可在线阅读,更多相关《第五章 编程题.docx(8页珍藏版)》请在冰豆网上搜索。
第五章编程题
(1)、从键盘上输入20个整数,求去掉最大值和最小值以后那些元素的平均值。
#include
intmain()
{
inta[20],i,min,max,sum=0,k=0;
doubleaverage;
printf("pleaseinput20elements:
\n");
for(i=0;i<20;i++)
scanf("%d",&a[i]);
printf("Theoriginalarrayis:
\n");
for(i=0;i<20;i++)
printf("%d\t",a[i]);
printf("\n");
max=min=a[0];
for(i=0;i<20;i++)
if(a[i]>max)
max=a[i];
elseif(a[i] min=a[i]; for(i=0;i<20;i++) if(a[i]! =min&&a[i]! =max) { sum+=a[i]; k++; } average=(double)sum/k; printf("average=%lf\tsum=%d\tk=%d",average,sum,k); return0; } (2)、首先计算Fibonacci数列1,1,2,3,5,8,13,21,……的前n项(n不超过40)存入一维数组中,再按每行8项的格式输出。 #include intmain() { inta[40],i,n; printf("pleaseinputn(1<=n<40)\n"); scanf("%d",&n); if(n<1||n>=40) printf("ErrorInput! \n"); else { a[0]=1;a[1]=1; if(n==1) printf("%d",a[0]); else { printf("%d\t%d\t",a[0],a[1]); for(i=2;i { a[i]=a[i-1]+a[i-2]; printf("%d\t",a[i]); if((i+1)%8==0) printf("\n"); } printf("\n"); } } return0; } (3)、输入学生人数(不超过30)后输入每个学生的成绩,统计每个分数段学生人数个数,并求最高分、最低分和平均值。 (提示,分数段有: 90~100,80~89,70~79,60~69,0~59) #include intmain() { inta[30],i,max,min,n,count[5]={0},sum; doubleaverage; printf("pleaseinputn(1<=n<30): \n"); scanf("%d",&n); if(n<1||n>=100) printf("Errorinput! \n"); else { printf("pleaseinput%dscores: \n",n); for(i=0;i do { scanf("%d",&a[i]); }while(a[i]<0||a[i]>100); for(i=0;i switch(a[i]/10) { case10: case9: count[0]++;break; case8: count[1]++;break; case7: count[2]++;break; case6: count[3]++;break; default: count[4]++;break; } max=min=sum=a[0]; for(i=1;i { if(a[i]>max) max=a[i]; elseif(a[i] min=a[i]; sum+=a[i]; } average=(double)sum/n; printf("max=%d,min=%d,average=%lf",max,min,average); } return0; } (4)、从键盘上输入n(n≤10)个整数,用交换法进行排序(非递减有序),结果输出排序前的序列和排序后的序列,并输出排序过程中交换的次数。 (提示,交换法排序的基本思想: n个元素共需要n-1趟(设趟数位0~n-2排序,第i趟的任务是找出本趟最小元素并放在下标为i的位置上。 为此先假定i号元素为本趟最小,接着从它后面一个开始至n-1下标的元素依次与i号元素比较,只要后面的元素小于i号元素,则互换,始终用i下标的当前元素与后面元素进行比较))。 #include intmain() { inta[10],*p=a,n,i,j,count=0; do { printf("pleaseinputn: \n"); scanf("%d",&n); }while(n<=0||n>10); printf("pleaseinput%delements: \n",n); for(i=0;i scanf("%d",p+i); printf("Theoriginalarrayis: \n"); for(i=0;i printf("%6d",p[i]); printf("\n"); for(i=0;i { for(j=i+1;j if(*(p+j)<*(p+i)) { intt=*(p+j); *(p+j)=*(p+i); *(p+i)=t; count++; } } printf("Thenewarrayis: \n"); for(i=0;i printf("%6d",p[i]); printf("\ncountnumber=%d\n",count); return0; } (5)、改进程序5.11,从程序中删除所有的元素值等于给定的元素,输出删除前和删除后的数组元素。 (例如,数组原来的元素依次为: 3234531,如果要求删除3,则结果为: 2451) #include intmain() { inta[20]={0}; inti=0,j,x,total=0; printf("inputelementsendwith0\n"); do { scanf("%d",&a[i++]); }while(a[i-1]); total=i-1; printf("Beforedelete,elementsare: \n"); for(i=0;i printf("%5d",a[i]); printf("\n"); printf("Pleaseinputxbedeleted: \n"); scanf("%d",&x); for(i=0;i { while(i =x)i++; if(i==total)break; for(j=i;j a[j]=a[j+1]; i--;total--; } printf("Afterdelete,elementsare: \n"); for(i=0;i printf("%5d",a[i]); printf("\n"); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 编程题 第五 编程