c语言数组练习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言数组练习题及答案
第一题:在数组a中,存放有n个学生的成绩.试编一函数:将低于平均分的学生人数m由函数值返回,将低于平均分的分数由数组b带回. int fun(int a[],int n,int b[]) {
int i,m=0,aver=0;
for(i=0;i aver/=n; for(i=0;i if(a[i] return m; } 第二题:试编一函数:求出1000之间能被7或11整除,但不能同时被7或11整除的所有整数的个数n由函数值返回,并将符合条件的数放在数组a中带回. int fun(int a[]) { int i,n=0; for(i=1;i<1000;i++) if((i%7==0&&i%11!=0)||(i%7!=0&&i%11==0)) a[n++]=i; return n; } 第三题:试编一函数:将大于整数m且紧靠m的k个素数存入数组a中. void fun(int m,int k,int a[]) { int i,n,data,flag; data=m+1; n=0; while(n { flag=1; for(i=2;i<=data/2;i++) if(data%i==0) { flag=0; break; } if(flag) a[n++]=data; data++; } } 第四题:试编一函数:在数组a中有n个整数,要求把下标从0到p(p小于等于n-1)的数 平移到数组的最后. 如:原始内容: 1,2,3,4,5,6,7,8,9,10; 当p=4时: 移后内容: 6,7,8,9,10,1,2,3,4,5 void fun(int a[],int n,int p) { int i,j,t; for(i=0;i<=p;i++) { t=a[0]; for(j=1;j a[n-1]=t; } } 第五题:试编一函数:在具有n个数据的数组a中,求出次最大值的下标并由函数值返回. int fun(int a[],int n) { int i,j,max,may; if(a[0]>a[1]) { max=0; may=1; } else { max=1; may=0; } for(i=2;i if(a[i]>a[max]) { may=max; amx=i; } else if(a[i]>a[may]) may=i; return may; } 第六题:在数组a中有n个四位数.试编一函数,要求按每个数的后三位的大小进行升序排 列,当后三位等相同时,则对这些数值按原始四位数据进行降序排序.将排序后的前10个数存入数组b中.(提示:可采用选择排序) int fun(int a[],int n,int b[]) { int i,j,k,t,m=10;