上机考试及题集完全版含答案1用于合并

上传人:无*** 文档编号:131360471 上传时间:2022-08-06 格式:DOC 页数:128 大小:508.50KB
返回 下载 相关 举报
上机考试及题集完全版含答案1用于合并_第1页
第1页 / 共128页
上机考试及题集完全版含答案1用于合并_第2页
第2页 / 共128页
上机考试及题集完全版含答案1用于合并_第3页
第3页 / 共128页
点击查看更多>>
资源描述
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date上机考试及题集完全版(含答案)-(1)-用于合并1本学期程序设计基础课程实行上机考核,现将考核有关事项通知如下:(1) 考核时间:本学期最后一次上机时间为机试。(2) 考核内容:主要是算法设计与实现。考题来自本学期布置的作业、例题及一些补充的题目。(3) 考试形式:机试前进入机房时,每人随机抽取一道题(同一个组的同学保证不抽到同一题),然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员U盘上,然后可以离开机房。源程序文件明必须是“学号姓名.cpp”,如“2012216827王梓丞.cpp”。(4) 考试要求:机试时考试规则同课堂考试一致,不允许带书、纸张等。不能携带任何可用计算机处理的软件或数据(不允许任何私人携带的U盘、磁盘或计算器) ,不能携带任何类型的通讯工具,包括无线电接收器、移动电话。(5) 考试成绩:本次机试成绩将在程序设计基础课程成绩中占25%的比重。(6) 其它有关事项由主考教师和监考人员负责处理。附:考试题集1. 学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以因为在大奖赛上获奖而加5分,总分不超过100分。编程序,输入某同学的考试成绩,回答是否在竞赛中获奖,计算并输出该某同学的程序设计课成绩 。#includestdio.hvoid main()int mark;char win;printf(please input mark:);scanf(%d,&mark);getchar();printf(你是否在大奖赛上获奖(Y/N);win=getchar();if(win=y|win=Y)mark=mark+5;if(mark100)mark=100;printf(your mark is %dn,mark);2. 编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。(提示:对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。#includestdio.hvoid main()int yy,mm,days;printf(please input year:);scanf(%d,&yy);printf(please input month(1-12):);scanf(%d,&mm);switch(mm)case 1:days=31;break;case 2:if(yy%4=0&yy%100!=0)|yy%400=0)days=29;elsedays=28; break;case 3:days=31;break;case 4:days=30;break;case 5:days=31;break;case 6:days=30;break;case 7:days=31;break;case 8:days=31;break;case 9:days=30;break;case 10:days=31;break;case 11:days=30;break;case 12:days=31;break;printf(this month has %d days!n,days);3. 求一元二次方程ax2+bx+c=0的根。(要考虑a、b、c三个系数不同的取值) #includestdio.h#includemath.hvoid main()float a,b,c,delta;printf(please input a、b、c : );scanf(%f%f%f,&a,&b,&c);if(a!=0)delta=b*b-4*a*c;if(delta0)printf(X1=%f,X2=%fn,(-b+sqrt(delta)/(2*a),(-b-sqrt(delta)/(2*a);elseif(delta=0)printf(X1=X2=%fn,-b/(2*a);elseprintf(X1=%f+%fi,X2=%f-%fin,-b/(2*a),sqrt(-delta)/(2+a),-b/(2*a),sqrt(-delta)/(2+a);elseif(b!=0)printf(X=%fn,-c/b);elseif(c=0)printf(0=0!n);elseprintf(%f=0n,c);4. 学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以根据大奖赛的成绩适度加分。加分规则是:参赛者加5分,三等奖加15分,二等奖加20分,一等奖加30分,总分不超过100分。编程序,输入某同学的考试成绩,回答在竞赛中获奖等级,计算并输出该某同学的程序设计课成绩 。#includestdio.hvoid main()int mark,win;printf(please input your mark: );scanf(%d,&mark);printf(请选择你参加大奖赛的情况:n);printf(0:未参加,1:参赛,2:三等奖,3:二等奖,4:一等奖):n);scanf(%d,&win);switch(win)case 0:break;case 1:mark=mark+5;break;case 2:mark=mark+15;break;case 3:mark=mark+20;break;case 4:mark=mark+30;if(mark100)mark=100;printf(你最终的成绩是: %dn,mark);5. 高速公路每公里的收费标准按不同种类汽车如下: 小汽车( car ) 0.50 元 卡车( truck ) 1.00 元 大客车( bus ) 1.50 元编程序,为某高速公路收费站计算各种车辆的收费额。#includestdio.hvoid main()enumcar,truck,bussort;int i;float km,price;printf(please choose (1:car,2:truck,3:bus): );scanf(%d,&i);switch(i)case 1:sort=car;break;case 2:sort=truck;break;case 3:sort=bus;printf(请输入所走路程: );scanf(%f,&km);switch(sort)case car:price=0.50;break;case truck:price=1.00;break;case bus:price=1.50;printf(cost=%fn,price*km);6. 设计一个模拟单步计算器的程序,设该计算器只能作加、减、乘、除运算。用户输入形如 m#n的算式,其中m、n为运算数,#为运算符。(需考虑运算符不合法,及除数为0的情况)#includestdio.hvoid main()float m,n,s;char w;printf(please input m、w、n: );scanf(%f%c%f,&m,&w,&n);switch(w)case +:s=m+n;break;case -:s=m-n;break;case *:s=m*m;break;case /:s=m/n;break;default :printf(error!n);if(w=/&n=0)printf(除数为0,无意义!n);elseprintf(%fn,s);7. 编写程序,输入一个4位自然数n,判断n是否是降序数。降序数是指对于n=d1d2dk有: d1d2dk#includestdio.hvoid main()int n,a,b,c,d;printf(请输入一个四位数:);scanf(%d,&n);a=n/1000;b=(n%1000)/100;c=(n%100)/10;d=n%10;if(a=b&b=c&c=d)printf(%d是一个降序数n,n);elseprintf(%d不是一个降序数n,n);8. 编写程序,输入一个5位自然数n,判断n是否对称数。对称数是指正序和反序读都相等的整数,如96769为对称数。9. 编写程序,判断给定的3位数是否为Armstrong数。Armstrong数是指其值等于它每位数字立方和的数,如153就是一个Armstrong数。10. 编写程序,输入一个整数,判断它能否被3、5、7整数,并输出如下信息。(1) 能同时被3、5、7整数。(2) 能同时被两个数整数,并指明是被哪两个数整除。(3) 能被一个数整数,并指明这是哪个数。(4) 不能被所有3个数整除。11. 邮局寄包裹的费用是根据包裹的重量来收取的。一个重量为2kg或低于2kg的包裹收取3.25元。高于2kg的包裹,超出部分每千克收取1.05元,超出部分不足1kg按1kg计算。因此如果发件人发送重达5.63kg的包裹,就需要缴纳7.45元。编写程序,输入包裹的重量,计算并输出发件人须缴纳的费用。#includestdio.hvoid main()float m,n,price;printf(请输入包裹的重量:);scanf(%f,&m);n=m-2.0;if(m(int)n)n=(int)n+1;price=1.05*n+3.25;printf(需缴纳费用%.2f元n,price);12. 一个临时照顾孩子的人的收费标准是:18:00到21:30间每小时2元,21:30到午夜间每小时4元,18:00以前和午夜以后不照顾孩子。编写程序,输入开始时间和结束时间,计算并输出某一个雇工的薪酬。程序应检查无效的开始和结束时间。#includestdio.hvoid main()int s,f,a,b;printf(请分别输入开始时的时s、分f(18=s24): );scanf(%d%d,&s,&f);printf(请分别输入结束时的时a、分b(s=b=24): );scanf(%d%d,&a,&b);if(s=24|f60|(a*60+b)24|b60)printf(error!n);if(s*60+f)(21.5*60)&(a*60+b)(21.5*60)printf(该雇工可以赚取%.2f元n,(a*60.0+b)-(s*60.0+f)*2.0/60);if(s*60+f)=(21.5*60)printf(该雇工可以赚取%.2f元n,(21.5*60)-(s*60.0+f)*2.0/60)+(a*60.0+b)-(21.5*60)*4.0/60);if(s*60+f)=(21.5*60)printf(该雇工可以赚取%.2f元n,(a*60.0+b)-(s*60.0+f)*4.0/60);13. 编写程序,按下述公式求自然对数底e的近似值。#includestdio.h#define eps 1e-6void main()int n=1;float e,r=1.0;for(e=1.0;r=eps;e=e+r)r=r/n;n+;printf(e=%fn,e);14. 编写程序,统计以100为结束符的整数输入流中-1、0、1的出现次数并将其输出。#includestdio.h#define n 100void main()int i=0,j=0,k=0,m;printf(please input the integer: );scanf(%d,&m);while(m!=n)switch(m)case -1:i=i+1;break;case 0:j=j+1;break;case 1:k=k+1;printf(please input the integer: );scanf(%d,&m);printf(number of -1: %dn,i);printf(number of 0: %dn,j);printf(number of 1: %dn,k);15. 编写程序,打印“99乘法表”1 12 2 43 3 6 94 4 8 12 165 5 10 15 20 256 6 12 18 24 30 367 7 14 21 28 35 42 498 8 16 24 32 40 48 56 649 9 18 27 36 45 54 63 72 81* 1 2 3 4 5 6 7 8 9#includestdio.hvoid main()int i,j,k;for(i=1;i=9;i+)printf(%3d,i);for(j=1;j=i;j+)printf(%3d,i*j);printf(n);printf( *);for(k=1;k=9;k+)printf(%3d,k);printf(n);16. 编写程序,打印200以内的素数,要求每行输出10个数。#include stdio.hvoid main()int i,j,k;bool flag;for(i=2,k=0;i=200;i+)flag=true;for(j=2;j=i/2;j+)if(i%j=0)flag=false;if(flag)if(k%10=0)printf(n);k+;printf(%5d,i);printf(n);17. 编写程序,输出如下序列的前50项,此序列的第一项为0;第二项为1;以后的奇数项为其前两项之和;偶数项为其前两项之差。要求每行输出10个数。#includestdio.hvoid main()int i,a=0,b=1,c,m=-1;printf(%7d%7d,a,b);for(i=3;i=50;i+)m=-m;c=b+m*a;printf(%7d,c);if(i%10=0)printf(n);a=b;b=c;printf(n);18. 编写程序,输入正整数N,计算r1!+r2!+rn!并输出。其中N=r1r2rn。#includestdio.hvoid main()int N,S,P,r,i;S=0;printf(please input N: );scanf(%d,&N);while(N!=0)r=N%10;N=N/10;P=1;for(i=1;i=r;i+)P=P*i;S=S+P;printf(r1!+r2!+rn!=%dn,S);19. 完数问题:若有一数,其值等于它的因子之和,则该数称为完数。例如,6的因子为1、2、3,而6=1+2+3,故6是完数。编程输出1000之内的所有完数及其因子。#includestdio.hvoid main()int i,j,k,s;for(i=2;i=1000;i+)s=0;for(j=1;ji;j+)if(i%j=0)s=s+j;if(s=i)printf(%3d its factors are ,i);for(k=1;ki;k+)if(i%k=0)printf(%4d,k);printf(n);20. 把一张1元钞票换成1分、2分和5分的硬币,每种至少有1枚,问有多少种换法?#includestdio.hvoid main()int i,j,k,count=0;for(i=1;i=100/1;i+)for(j=1;j=100/2;j+)for(k=1;k=100/5;k+)if(i+2*j+5*k=100)count+;printf(%dn,count);21. 斐波那契(Fibonacci)数列问题:Fibonacci数列递归定义为:x0=0,x1=1,xi+1=xi+xi-1, i=2,3,即从第二项开始,数列中的每一个元素等于前面两个元素之和。编程输出前20项Fibonacci数。(提示可以用递归或迭代两种方式编程)#includestdio.hvoid main()int r=0,s=1,m,i;for(i=1;i=20;i+)m=r+s;printf(%8d,m);r=s;s=m;22. 公鸡5元1只,母鸡3元1只,小鸡1元3只,花了100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?#includestdio.hvoid main()int g,m,x;for(g=1;g100/5;g+)for(m=1;m100/3;m+)for(x=3;x100*3;x=x+3)if(g+m+x=100&(5*g+3*m+x/3)=100)printf(g=%d m=%d x=%dn,g,m,x);23. 编写程序,用循环语句控制打印如图所示的字符图形。 A B C D E F G H IB C D E F G H I AC D E F G H I A BD E F G H I A B CE F G H I A B C DD E F G H I A B CC D E F G H I A BB C D E F G H I AA B C D E F G H I#includestdio.hvoid main()char x,y;for(x=A;x=E;x+)for(y=x;y=I;y+)printf(%2c,y);for(y=A;y=A;x-)for(y=x;y=I;y+)printf(%2c,y);for(y=A;y=x-1;y+)printf(%2c,y);printf(n);24. 编写程序,打印如下图所示的图形 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 0 9 8 7 6 5 4 3 2 1#includestdio.hvoid main()int i,j,k,l;for(i=1;i=10;i+)for(j=1;j=10-i;j+)printf( );for(k=1;k=1;l-)printf(%2d,l);printf(n);25. 验证哥德巴赫猜想:任意一个大偶数都可以分解为两个素数之和。用户输入一个大于6的偶数,程序计算并输出分解结果。#includestdio.hbool prime(int n)int j;for(j=2;j=n/2;j+)if(n%j=0)return false;return true;void main()int i,n;printf(请输入一个大于6的偶数: );scanf(%d,&n);for(i=2;in;i+)if(prime(i)&prime(n-i)printf(%d %d %d,n,i,n-i);printf(n);break;printf(n);26. 编写一个程序解决爱因斯坦台阶问题:有人走以台阶,若以每步走2级则最后剩1级;若每步走3级则最后剩2级;若以每步走4级则最后剩3级;若以每步走5级则最后剩4级;若以每步走6级则最后剩5级;若以每步走7级则最后刚好不剩。问台阶共有几级?#includestdio.hvoid main()int i;for(i=7;i1000;i=i+7)if(i%2=1&i%3=2&i%4=3&i%5=4&i%6=5)printf(台阶有%d阶n,i);break;27. 编写程序,输出所有小于100的可以被11整除的自然数,以及这些数之和。#includestdio.hvoid main()int i,s;for(i=11,s=0;is;n+)s=s+1.0/(2*n-1);printf(%dn,n-1);29. 编写函数,判定它的4个整型参数中是否有两个数的值相等。主函数读入4个数,调用该函数,输出判定结果。#includestdio.hint a,b,c,d;int f(int a,int b,int c,int d)if(a=b|a=c|a=d|b=c|b=d|c=d)printf(有两个数的值相等n);elseprintf(没有两个数的值相等n);return 0;void main()printf(请输入4个整数: );scanf(%d%d%d%d,&a,&b,&c,&d);f(a,b,c,d);30. 编写以一个函数reverse(int n),求任意4位整数的逆序数。如n=2637时,函数返回值是7362。主函数读入一个整数,判断其合法性,调用函数得到结果输出。#includestdio.hint reverse(int n)int a,b,c,d;a=n/1000;b=(n%1000)/100;c=(n%100)/10;d=n%10;return d*1000+c*100+b*10+a;void main()int m;printf(请输入一个四位数:);scanf(%d,&m);if(m9999|m=1;i-)s=s*i;return s;void main()int m,n;printf(please input m、n (m=n): );scanf(%d%d,&m,&n);if(mn)printf(error! m 应该大于 n !n);elseprintf(%.0fn,f(m)/(f(m-n)*f(n);32. 下面是一个有效的计算xn的方法。初始化:answer=1; power=x; m=n;当m!=0时,重复计算:若m是奇数,则令 answer=answer*power; m=m-1;否则,令 power=power*power; m=m/2;重复计算至m=0结果为answer编写函数power(float x, int n)实现上述算法,主函数读入x和n,调用函数得到返回值输出。#includestdio.hfloat power(float x, int n)int m=n;float power=x,answer=1;while(m!=0)if(m%2!=0)answer=answer*power;m=m-1;elsepower=power*power;m=m/2;return answer;void main()float x;int n;printf(please input x,n: );scanf(%f%d,&x,&n);printf(%.2fn,power(x,n);33. 编写函数,以两个正整数位参数,如果这两个数是友好的,返回true,否则返回false。如果这两个整数的约数之和(除了它本身之外)等于对方,就称这对数是友好的。例如,1184和12101184的约数之和为1+2+4+8+16+32+74+148+296+592=12101210的约束之和为1+5+10+11+22+55+110+121+242+605=1184#includestdio.hbool prime(int m,int n)int i,j,k,s1=0,s2=0;for(i=1;i=m/2;i+)if(m%i=0)s1=s1+i;for(j=1;j=n/2;j+)if(n%j=0)s2=s2+j;if(s1=n&s2=m)return true;return false;void main()int m,n;printf(请输入两个正整数:n);scanf(%d%d,&m,&n);if(prime(m,n)printf(这两个数是友好的!n);elseprintf(这两个数不是友好的!n);34. 编写程序计算调和级数的前N项和。要求结果是一个准确的分数A/B形式。 #includestdio.hint i,j,n,s1,s2,s,k,min;void main()printf(please input n : );scanf(%d,&n);s1=1;for(i=1;i=n;i+)s1=s1*i;s=0;for(j=1;j=n;j+)s2=s1/j;s=s+s2;printf(%d/%dn,s,s1);min=s;k=2;while(k=min/2)if(s1%k=0&s%k=0)s=s/k;s1=s1/k;min=s;k=2;elsek+;printf(化简后的值为:Hn=%d/%dn,s,s1);35. 编写程序,输入n个整数,用“主元排序”法,将其升序排序(从小到大)输出。#includestdio.h#define n 4void main()int i,j,k,r,an;printf(请输入一组整数:n);for(i=0;in;i+)printf(a%d=,i);scanf(%d,&(ai);for(i=0;in-1;i+)j=i;for(k=i+1;kak)j=k;r=ai;ai=aj;aj=r;printf(排序后的数组为:n);for(i=0;in;i+)printf(a%d=%d ,i,ai);printf(n);36. 编写一个程序,输入全班同学某门课考试成绩,计算平均成绩并统计大于等于平均成绩的人数。(提示:批量数据通常不事先规定输入的数据数量,而是以一个特殊的标志作为输入结束。程序根据结束标志统计人数)#includestdio.hvoid main()int mark,num,count=1,a1000,i=1,j,m=0;float p;printf(please input mark (1000为结束标志): );scanf(%d,&mark);num=mark;a0=mark;while(mark!=1000)printf(please input mark: );scanf(%d,&mark);if(mark!=1000)num=num+mark;ai=mark;count+;i+;p=(float)num/count;for(j=0;j=p)m+;printf(全班的平均分是:%.3fn,p);printf(大于等于平均成绩的人数为:%dn,m);37. 打印杨辉三角形的前10行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 #includestdio.h#define n 10#define wideword 6void main()int i,j,an,bn;for(i=0;in;i+)for(j=1;ji;j+)aj=bj+bj-1;ai=1;for(j=0;j=i;j+)bj=aj;for(j=0;j=30-i*(wideword/2);j+)printf(%C, );for(j=0;j=i;j+)printf(%6d,aj);printf(n);38. 编写程序,输入n个整数,用“冒泡排序”法,将其升序排序(从小到大)输出。#includestdio.h#define n 4bool flag;int r,i,an;void main()printf(请输入一组整数:);for(i=0;in;i+)scanf(%d,&ai);flag=true;while(flag)flag=false;for(i=0;iai+1)r=ai;ai=ai+1;ai+1=r;flag=true;for(i=0;in;i+)printf(a%d=%d ,i,ai);printf(n);39. 编写程序,输入n个整数,用“逐步增加递增子序列”法(或称插入排序),将其升序排序(从小到大)输出。#includestdio.h#define n 7int i,j,k,r,an;void main()printf(请输入一组整数:);for(i=0;in;i+)scanf(%d,&ai);for(i=1;iai&j=0)j=j-1;r=ai;for(k=i;kj+1;k-)ak=ak-1;aj+1=r;for(i=0;in;i+)printf(a%d=%d ,i,ai);printf(n);40. 编程实现二分查找算法。设数组以按升序排序,“对半检索”亦称“两分法检索”。在检索过程中用到三个变量:lower : 记录检索区间下界,初值是0 ;upper : 记录检索区间上界,初值是n-1 ;j: 标记当前检索位置。检索思想令j=(lower+upper)/2n key=aj: 找到,位置为;函数search返回j n keyaj: key在aj与aupper之间, 检索区间缩小一半,lower=j+1重复上述过程。重复的终止条件为 upper-lower 0 ,表示未找到,返回 -1 。 要求编写一函数int half_search( int n, int a, int key) 其中n为数组长度、a为一维数组、key为要查找的关键字,若找到key,函数返回对应的数组下标,未找到返回-1。主函数读入一数组,先调用排序函数sort(int a, int n)(排序算法任选)对数组排序,然后调用搜索函数,输出搜索结果。#includestdio.hint sort(int a, int n)int i,j,k,r;for(i=0;in-1;i+)j=i;for(k=i+1;kak)j=k;r=ai;ai=aj;aj=r;return 0;int half_search( int n, int a, int key)int lower,upper,j;lower=0;upper=n-1;while(upper-lower=0)j=(upper+lower)/2;if(key=aj)return j;elseif(keyaj)lower=j+1;elseupper=j-1;return -1;void main()int n,a100,key,m,i;printf(请输入数组长度n 、关键字key :n);scanf(%d%d,&n,&key);printf(请输入一维数组a%dn,n);for(i=0;in;i+)printf(a%d=,i);scanf(%d,&ai);sort(a,n);m=half_search(n,a,key);printf(对应的数组下标为:%dn,m);41. 编写函数,对给定的数组组成的序列排序输出,并输出每个数组元素在排序之前的序号。设函数为 sortofup(int a, int b, int n) 其中a中存放要排序的数组元素,b存放其排序前的序号,n为数组长度。主函数读入数组a,并给数组元素置序号(为简单起序号从0至n-1)。调用函数结束后,分别输出数组a、b个元素值。#includestdio.hsortofup(int a, int b, int n)int i,j,k,r,c100;for(i=0;in;i+)ci=ai;for(i=0;in-1;i+)j=i;for(k=i+1;kak)j=k;r=ai;ai=aj;aj=r;for(i=0;in;i+)for(j=0;jn;j+)if(ai=cj)bi=j;return 0;void main()int a100,b100,i,n;printf(请输入数组长度n:n);scanf(%d,&n);printf(请输入数组a%d:n,n);for(i=0;in;i+)printf(a%d=,i);scanf(%d,&ai);sortofup(a,b,n);printf(排序后a%d为:n,n);for(i=0;in;i+)printf(%d ,ai);printf(n);printf(每个数组元素在排序之前的序号为:n);for(i=0;in;i+)printf(%d ,bi);printf(n);42. 编写一个函数,把给定的一维数组的诸元素循环右移j位。要求编写主函数,读入数组,调用函数,然后输出移位后的数组各元素。#includestdio.hint f(int a,int n,int j)int i,k,b100;for(i=0;in;i+)bi=ai;for(i=0;ij;i+)ai=bn-j+i;for(i=j;in;i+)ai=bi-j;return 0;void main()int a100,c100,n,i,j;printf(请输入数组长度n:n);scanf(%d,&n);printf(请输入数组a%dn,n);for(i=0;in;i+)printf(a%d=,i);scanf(%d,&ai);printf(请输入右移的位数jn);scanf(%d,&j);f(a,n,j);for(i=0;in;i+)ci=ai;printf(数组a%d右移%d位后是:n,n,j);for(i=0;in;i+)printf(c%d=%dn,i,ci);43. 编写函数,把整数数组中值相同的元素删除的只剩一个,并把剩余元素全部顺移到前面。要求编写主函数,读入数组,调用函数,然后输出删除相同元素后的数组各元素。#includestdio.hint b100,count;int f(int a,int n)int i,j,k;for(i=0;icount-1;i+)for(j=i+1;jcount;j+)if(ai=aj)for(k=j;kcount-1;k+)ak=ak+1;count-;j-;return 0;void main()int a100,b100,i,n;printf(请输入数组长度n:n);scanf(%d,&n);count=n;printf(请输入数组a%d:n,n);for(i=0;in;i+)printf(a%d=,i);scanf(%d,&ai);f(a,n);for(i=0;icount;i+)bi=ai;printf(输出删除相同元素后的数组各元素:n);for(i=0;icount;i+)printf(b%d=,i);printf(%d ,bi);printf(n);44. 编写函数,求给定一维数组中出现频率最高的数,如,在(2,3,4,3,5,7,5,5)中,数字5出现的频率最高。要求编写主函数,读入数组,调用函数,在函数中输出出现频率最高的数及出现的次数。#includestdio.hint b100,x,p,max;int f(int a,int n)int i,j,k;for(i=0;in;i+)x=0;for(j=1;jn;j+)if(ai=aj)x+;bi=x;max=b0;for(k=0;k=max)max=bk;p=ak;return 0;void main()
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!