电脑常规操作——c语言数组练习题及解答.docx_第1页
电脑常规操作——c语言数组练习题及解答.docx_第2页
电脑常规操作——c语言数组练习题及解答.docx_第3页
电脑常规操作——c语言数组练习题及解答.docx_第4页
电脑常规操作——c语言数组练习题及解答.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

c语言数组练习题及答案第一题:在数组a中,存放有n个学生的成绩.试编一函数:将低于平均分的学生 人数m由函数值返回,将低于平均分的分数由数组b带回. int fun(int a,int n,int b) int i,m=0,aver=0; for(i=0;in;i+) aver+=ai; aver/=n; for(i=0;in;i+) if(aiaver) bm+=ai; return m; 第二题:试编一函数:求出1000之间能被7或11整除,但不能同时被7或11整除的 所有整数的个数n由函数值返回,并将符合条件的数放在数组a中带回. int fun(int a) int i,n=0; for(i=1;i1000;i+) if(i%7=0&i%11!=0)|(i%7!=0&i%11=0) an+=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(nk) flag=1; for(i=2;i=data/2;i+) if(data%i=0) flag=0; break; if(flag) an+=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=a0; for(j=1;ja1) max=0; may=1; else max=1; may=0; for(i=2;iamax) may=max; amx=i; else if(aiamay) may=i; return may; 第六题:在数组a中有n个四位数.试编一函数,要求按每个数的后三位的大小进行升序排 列,当后三位等相同时,则对这些数值按原始四位数据进行降序排序.将排序后 的前10个数存入数组b中.(提示:可采用选择排序) int fun(int a,int n,int b) int i,j,k,t,m=10; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(aj%1000ak) k=j; if(k!=i) t=ai; ai=ak; ak=t; for(i=0;im;i+) bi=ai; return m; 第七题:在三位数(100至999)中寻找符合下面条件的整数.它即是完全平方数,又有两位 数字相同.(如:144,676;)并将符合条件数的个数n由函数值返回,符合条件的数 存入数组a中返回. int fun(int a) int i,j,hun,ten,data,n=0; for(i=10;i=100&j=999) hun=j/100; ten=j%100/10; data=j%10; if(hun=ten|ten=data|data=hun) an+=j; return n; 第八题:判断一个长整型数是否为回文数(回文数是指其数字左右对称的整数).当该数是回文 数时,函数值返回1,否则返回0.(提示:利用逻辑量flag进行操作). int fun(long m) int i=0,n=0,flag=1,a20; while(m) an=m%10; m=m/10; n+; while(i=n/2 & flag) if(ai!=a-n flag=0; else i+; return flag; 第九题:在数组a中存有n个数据,试编一函数:依次从数组中取出一个数据,如查该数连续大于该 数以后的5个数且该数是奇数,统计出满足此条件数的个数m由函数值返回,并把这些数按 从小到大的顺序存入数组b中. int fun(int a,int n,int b) int i,j,flag,m=0; for(i=0;in-5;i+) for(j=i+1;jaj) flag=1; else flag=0; break; if(flag=1 & ai%2=1) bm+=ai; for(i=0;im-1;i+) for(j=0;jbj+1) flag=bj; bj=bj+1; bj+1=flag; return m; 第十题:在数组a中有n个四位数,试编一函数:求出千位数上的数加个位数上的数等于百位数上的数 加十位数上的数的个数m由函数值返回,再把所有满足此条件的四位数依次存入数组b中,然 后对数组b中的四位数按从小到大的顺序排序. int fun(int a,int n,int b) int i,j,m,thou,hun,ten,data; for(i=0;in;i+) thou=ai/1000; hun=ai%1000/100; ten=ai%100/10; data=ai%10; if(thou+data=hun+ten) bm+=ai; for(i=0;im-1;i

温馨提示

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

评论

0/150

提交评论