编程题解析.docx_第1页
编程题解析.docx_第2页
编程题解析.docx_第3页
编程题解析.docx_第4页
编程题解析.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1编程题(D_5_1.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_5_1.C文件和D_5_1.exe文件)保存到学号目录中。功能说明:键盘输入5个整数,按由小到大的顺序排序后输出。如输入:10 0 20 5 31则输出:5 0 10 20 31#include stdio.hvoid SelectSort( int v , int n ) int i,j,k,temp; for( i=0; in-1; i+ ) int k = i; /k存放最小记录位置 for( j=i+1; jn; j+) /找最小记录位置 if( vjvk ) k = j; if( k!=i ) /交换第i和第k个位置记录 temp=vi; vi=vk; vk=temp; main() int a10,i,n; printf(input number of datan); scanf(%d,&n); for(i=0;in;i+) printf( input %d datan,i+1); scanf(%d,&ai); SelectSort(a, n); for(i=0;in;i+) printf( %5d,ai); printf( n); getch(); 2编程题(D_5_2.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_5_2.C文件和D_5_2.exe文件)保存到学号目录中。功能说明:键盘输入正整数n,计算并输出的值,输出结果保留6位小数。如输入:10则输出:0.645635#include void main() int i=1,n; double f=1.0,s=0; printf(input item number : n); scanf(%d,&n); do s+=f/i+; f=-f; while (i=n); printf(1-1/2+1/3-.+1/%d=%lfn,n,s); getch();3编程题(E_5_1.c)编程要求:请按题中的功能要求,编写程序并能得到正确结果。将结果(包括E_5_1.c文件和E_5_1.exe文件)保存到学号目录中。功能说明:编写一个函数,将数组a中的n个数每5个相邻的元素为一组分别求和(假设求和结果不溢出),结果放到数组b中,最后一组如果不足5个也进行求和。例如,若数字a的元素为4,8,3,3,0,5,2,9,7,8,4,3,2,1,8,4,3,2,则数组b的元素为18,31,18,9。#include fun(int a,int b,int n)int i=0,j,s,c,k;k=n%5?n/5+1:n/5; for(j=0;jk;j+)s=c=0;while (c5) if(i=n) break;s=s+ai+;c+;bj=s;return j;main()int a20,b10,i,n,k;printf(input number of array an);scanf(%d,&n);for(i=0;in;i+) printf( input %d datan,i+1);scanf(%d,&ai); k=fun(a,b,n);for(i=0;ik;i+)printf(%5d ,bi);printf(n);getch();4编程题(E_5_2.c)编程要求:请按题中的功能要求,编写程序并能得到正确结果。将结果(包括E_5_2.c文件和E_5_2.exe文件)保存到学号目录中。功能说明:某中学要对新入学的10名学生根据考试成绩分到插入到两个班(class1,class2)中,插入的方法是成绩第1名在class1班,第2名在class2班,第3名在class1班,第4名在class2班,依次类推,原来class1,class2学生是按成绩由高分到低分排列的。请编写程序,输入这10个学生的编号和成绩,输出如下格式的分班情况:Class1班:编号 成绩; 编号 成绩; Class2班:编号 成绩; 编号 成绩; #include #include struct student int id ; float score; ;void BubleSort(struct student v, int n) struct student temp; int i,j;for (i=1; in; i+) for (j=0; jn-i; j+) /找第i大的元素 if( vj.scorevj+1.score ) /交换两个相邻元素 temp.id=vj.id; temp.score=vj.score; vj.id=vj+1.id; vj.score=vj+1.score; vj+1.id=temp.id; vj+1.score=temp.score; /第i大的元素筛选结束 void ins(struct student a,int n,int x0,float x1) int p=0,i; while (x1ap.score&pp-1;i-) ai+1.id=ai.id; ai+1.score=ai.score; ap.id=x0;ap.score=x1;main() struct student a10,clas120=12,90,11,89,9,88,6,87,4,85,clas220=22,92,21,89,29,86,26,84,24,75; int i,t,j; float s; for(i=0;i10;i+) printf(%dn,i+1);scanf(%d%f,&ai.id,&ai.score); BubleSort(a,10); for(i=0;i10;i+) printf(%d,%fn,ai.id,ai.score); j=1; for(i=0;i10;i=i+2) t=ai.id;s=ai.score;ins(clas1,4+j,t,s);j+; for(j=1,i=1;i10;i=i+2) t=ai.id;s=ai.score;ins(clas2,4+j,t,s);j+;printf(Class1班: ); for(i=0;i10;i+) printf( %5d%10.2f; , clas1i.id, clas1i.score);if(i+1)%3=0) printf(n );printf(nn); printf(Class2班: ); for(i=0;i10;i+) printf( %5d%10.2f; , clas2i.id, clas2i.score);if(i+1)%3=0) printf(n ); printf(nn); getch(); 5编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_1.C文件和B_4_1.EXE文件)保存到学号目录中。功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):(1)输入10个成绩(整数类型,数组名记为a);(2)计算并输出最高分(记为max)、最低分(记为min)与成绩中值(记为midd),其中成绩中值为最高分与最低分的平均值(保留一位小数输出);(3)将midd及以上的成绩归为A档,midd以下的成绩归为B档,统计并输出A、B两档的人数。运行示例:输入:88 59 50 74 60 99 75 90 68 70输出:Max=99, Min=50, Midd=74.5, A=4, B=6#include stdio.hvoid input(int a,int n) int i,x; for(i=0;in;i+) do printf(输入第%d个学生的成绩n,i+1); scanf(%d,&x);while(x100); ai=x; int g11(int a,int n)int i,x;x=a0; for(i=0;ix) x=ai; return x;int g12(int a,int n)int i,x;x=a0; for(i=0;in;i+) if(aix) x=ai; return x;main() int s40,i,n,max,min,c=0;float midd;printf(输入学生人数n);scanf(%d,&n); input(s,n);max=g11(s,n);min=g12(s,n);midd=(max+min)/2.0;for(i=0;i=midd) c+; printf(Max=%d, Min=%d, Midd=%.1f, A=%d, B=%dn,max,min,midd,c,n-c);getch();6编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.EXE文件)保存到学号目录中。功能说明:编写程序,通过以下步骤验证一个正整数是否符合特定的规则:(1) 输入一个4位的正整数n,将n分拆为a与b两部分:a为n的高3位,b为n的最低位;#include stdio.hint f1() int n;do printf(输入1个4位数n);scanf(%d,&n);while(n9999|n9999|n1000); return n;void f2(int n,int a)a1=n%10;a0=(n-a1)/10;int f3(int x)int i,s=0;for(i=1;i9999|n1000); return n;void f2(int n,int a)a1=n%10;a0=(n-a1)/10;int f3(int x,int b)int i,j=0,s=0;for(i=1;i9999|n1000); return n;void f2(int n,int a)a1=n%10;a0=(n-a1)/10;int f3(int x,int b)int i,j=0,s=0;for(i=1;ix;i+)if(x%i=0) bj+=i;s=s+i; bj=-1;return s;void f4(int x,int a,int b,int c) int i=0; FILE *fp;if(fp=fopen(B42.TXT,w)=NULL) printf(不能打开该文件,任意键退出); getch(); exit(1);printf(%d:,a);while(xi!=-1) printf(%d+,xi+);if(b%10=c) printf(b=%d,Passn,b);else printf(b=%d,Failn,b);fprintf(fp,%d %d %d,a,c,b); fclose(fp);main() int x2,y20,t; t=f1();f2(t,x);t=f3(x0,y);f4(y,x0,t,x1);getch();输出格式参见以下示例。运行示例:输入:1164输出:116: 1+2+4+29+58=94, Pass运行后文件内容:116 4 94说明:输入数为1164(对应n),分拆为116(对应a)和4(对应b),116的因子为1、2、4、29和58,累加和为94(对应s),s的个位数等于b(4),输出Pass,a,b,s保存在文件中。7编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_1.C文件和C_4_1.EXE文件)保存到学号目录中。功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):(1)输入10个成绩(浮点数类型,数组名记为a);(2)计算并输出累加和(记为sum)与平均值(记为ave),均保留一位小数;(3)将ave及以上的成绩归为A档,ave以下的成绩归为B档,统计并输出A、B两档的人数。运行示例:输入:55.5 99.5 50.0 90.0 88 59.5 48 60 78.0 66.5输出:Sum=695.0, Ave=69.5, A=4, B=6#include stdio.hvoid input(float a,int n) int i;float x; for(i=0;in;i+) do printf(输入第%d个学生的成绩n,i+1); scanf(%f,&x);while(x100); ai=x; float g11(float a,int n)int i;float x=0;for(i=0;in;i+) x=x+ai; return x;float g12(float a,int n)int i;float x=0;for(i=0;in;i+) x=x+ai; return x/n;main() float s40,sum,ave;int i,n,c=0;printf(输入学生人数n);scanf(%d,&n); input(s,n);sum=g11(s,n);ave=g12(s,n);for(i=0;i=ave) c+; printf(Sum=%.1f, Ave=%.1f, A=%d, B=%dn,sum,ave,c,n-c);getch();8编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括F_4_2.C文件和F_4_2.EXE文件)保存到学号目录中。功能说明:编写程序,通过以下步骤验证一个正整数是否符合特定的规则:(1)输入一个4位的正整数n,将n分拆成a与p,a为n的低两位,p为n的高2位;(2)计算a的所有因子之和,记为s(当1ia时,如果a是i的倍数,则i是a的因子);(3)如果s与p之和等于99,则输出Accept,否则输出Refuse;(4)将a,p,s的值保存到文本文件G42.TXT中。输出格式参见以下示例。运行示例1:输入:6758输出:58: 1+2+29=32, Accept运行后文件内容:58 67 32说明:输入数的6758(对应n)分拆为58(对应a)和67(对应p),58的因子为1、2和29,其累加和为32(对应s),s和p的和等于99,输出Accept。a,p,s的值保存到文件中。#include stdio.hint f1() int n;do printf(输入1个4位数n);scanf(%d,&n);while(n9999|n1000); return n;void f2(int n,int a)a0=n/100;a1=n-a0*100;int f3(int x,int b)int i,j=0,s=0;for(i=1;ix;i+)if(x%i=0) bj+=i;s=s+i; bj=-1;return s;void f4(int x,int a,int b,int c) int i=0; FILE *fp;if(fp=fopen(G42.TXT,w)=NULL) printf(不能打开该文件,任意键退出); getch(); exit(1);printf(%d:,a);while(xi!=-1) printf(%d+,xi+);if(c+b=99) printf(b=%d,Acceptn,b);else printf(b=%d,Refusen,b);fprintf(fp,%d %d %d,a,c,b); fclose(fp);main() int x2,y20,t; t=f1();f2(t,x); t=f3(x1,y);f4(y,x1,t,x0);getch();9编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括G_4_1.C文件和G_4_1.EXE文件)保存到学号目录中。功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):(1)输入学生数n和n个成绩(整数类型,数组名记为a,假设1n50);(2)统计n个学生中及格(60分)人数及其平均成绩(保留一位小数);(3)统计n个学生中不及格(60分)人数及其平均成绩(保留一位小数)。运行示例:输入:8 70 99 50 88 53 48 60 78输出:Pass:5,79.0 Fail:3,50.3#include stdio.hvoid input(int a,int n) int i,x; for(i=0;in;i+) do printf(输入第%d个学生的成绩n,i+1); scanf(%d,&x);while(x100); ai=x; void g11(int a,int n)int i,x=0,sum=0; for(i=0;i=60) x+;sum=sum+ai; printf(Pass:%d,%.1f,x,(float)sum/x); void g12(int a,int n)int i,x=0,sum=0; for(i=0;in;i+) if(ai60) x+;sum=sum+ai; printf( Fail:%d,%.1fn,x,(float)sum/x);main() int s50,n;doprintf(输入学生人数n);scanf(%d,&n);while(n50); input(s,n);g11(s,n);g12(s,n);getch();10编程题编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括H_4_2.C文件和H_4_2.EXE文件)保存到学号目录中。功能说明:编写程序,通过以下步骤验证一个正整数是否符合特定的规则:(1)输入一个4位正整数n,将n分拆成a与b,a为n的低2位,b为n的高2位;(2)计算a的所有因子

温馨提示

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

评论

0/150

提交评论