资源描述:
《电脑常规操作——c语言数组练习题及解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、c语言数组练习题及答案第一题:在数组a中,存放有n个学生的成绩.试编一函数:将低于平均分的学生人数m由函数值返回,将低于平均分的分数由数组b带回.intfun(inta[],intn,intb[]){inti,m=0,aver=0;for(i=0;i2、tfun(inta[]){inti,n=0;for(i=1;i<1000;i++)if((i%7==0&&i%11!=0)
3、
4、(i%7!=0&&i%11==0))a[n++]=i;returnn;}第三题:试编一函数:将大于整数m且紧靠m的k个素数存入数组a中.voidfun(intm,intk,inta[]){inti,n,data,flag;data=m+1;n=0;while(n5、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,5voidfun(inta[],intn,intp){inti,j,t;for(i=0;i<=p;i++){t=a[0];for(j=1;j6、n){inti,j,max,may;if(a[0]>a[1]){max=0;may=1;}else{max=1;may=0;}for(i=2;ia[max]){may=max;amx=i;}elseif(a[i]>a[may])may=i;returnmay;}第六题:在数组a中有n个四位数.试编一函数,要求按每个数的后三位的大小进行升序排列,当后三位等相同时,则对这些数值按原始四位数据进行降序排序.将排序后的前10个数存入数组b中.(提示:可采用选择排序)intfun(inta[],intn,intb[]){in
7、ti,j,k,t,m=10;for(i=0;ia[k])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}for(i=0;i8、条件的数存入数组a中返回.intfun(inta[]){inti,j,hun,ten,data,n=0;for(i=10;i<32;i++){j=i*i;if(j>=100&&j<=999){hun=j/100;ten=j%100/10;data=j%10;if(hun==ten
9、
10、ten==data
11、
12、data==hun)a[n++]=j;}}returnn;}第八题:判断一个长整型数是否为回文数(回文数是指其数字左右对称的整数).当该数是回文数时,函数值返回1,否则返回0.(提示:利用逻辑量flag进行操作).intfun(longm){i
13、nti=0,n=0,flag=1,a[20];while(m){a[n]=m%10;m=m/10;n++;}while(i<=n/2&&flag)if(a[i]!=a[--n]flag=0;elsei++;returnflag;}第九题:在数组a中存有n个数据,试编一函数:依次从数组中取出一个数据,如查该数连续大于该数以后的5个数且该数是奇数,统计出满足此条件数的个数m由函数值返回,并把这些数按从小到大的顺序存入数组b中.intfun(inta[],intn,intb[]){inti,j,flag,m=0;for(i=0;i14、for(j=i+1;j<=i+5;j++)if(a[i]>a[j])flag=1;else{flag=0;break;}if(flag==1&&a[i