c语言数组练习题及答案Word格式文档下载.docx

上传人:b****5 文档编号:18209186 上传时间:2022-12-14 格式:DOCX 页数:7 大小:16.27KB
下载 相关 举报
c语言数组练习题及答案Word格式文档下载.docx_第1页
第1页 / 共7页
c语言数组练习题及答案Word格式文档下载.docx_第2页
第2页 / 共7页
c语言数组练习题及答案Word格式文档下载.docx_第3页
第3页 / 共7页
c语言数组练习题及答案Word格式文档下载.docx_第4页
第4页 / 共7页
c语言数组练习题及答案Word格式文档下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

c语言数组练习题及答案Word格式文档下载.docx

《c语言数组练习题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言数组练习题及答案Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。

c语言数组练习题及答案Word格式文档下载.docx

求出1000之间能被7或11整除,但不能同时被7或11整

除的所有整数的个数n由函数值返回,并将符合条件的数放在数组a中带回.int

fun(inta[])

{

inti,n=0;

for(i=1;

1000;

if((i%7==0&

&

i%11!

=0)||(i%7!

=0&

i%11==0))a[n++]=i;

returnn;

第三题:

将大于整数m且紧靠m的k个素数存入数组a中.void

fun(intm,intk,inta[]){

inti,n,data,flag;

data=m+1;

n=0;

while(n<

k)

flag=1;

for(i=2;

=data/2;

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

voidfun(inta[],intn,intp){

inti,j,t;

=p;

t=a[0];

for(j=1;

j<

j++)a[j-1]=a[j];

a[n-1]=t;

第五题:

在具有n个数据的数组a中,求出次最大值的下标并由函

数值返回.

intfun(inta[],intn)

inti,j,max,may;

if(a[0]>

a[1])

max=0;

may=1;

else{

max=1;

may=0;

if(a[i]>

a[max])

may=max;

amx=i;

elseif(a[i]>

a[may])may=i;

returnmay;

第六题:

在数组a中有n个四位数.试编一函数,要求按每个数的后三位的大小

进行升序排

列,当后三位等相同时,则对这些数值按原始四位数据进行降序排序.将排序后

的前10个数存入数组b中.(提示:

可采用选择排序)

intfun(inta[],intn,intb[]){

inti,j,k,t,m=10;

n-1;

k=i;

for(j=i+1;

j++)

if(a[j]%1000<

a[k]%1000)k=j;

elseif(a[j]%1000==a[k]%1000&

a[j]>

a[k])k=j;

if(k!

=i)

t=a[i];

a[i]=a[k];

a[k]=t;

m;

i++)b[i]=a[i];

第七题:

在三位数(100至999)中寻找符合下面条件的整数.它即是完全平方数

又有两位

数字相同.(如:

144,676;

)并将符合条件数的个数n由函数值返回,符合条件的

数存入数组a中返回.

intfun(inta[])

inti,j,hun,ten,data,n=0;

for(i=10;

32;

j=i*i;

if(j>

=100&

=999)

hun=j/100;

ten=j%100/10;

data=j%10;

if(hun==ten||ten==data||data==hun)a[n++]=j;

第八题:

判断一个长整型数是否为回文数(回文数是指其数字左右对称的整数).

当该数是回文

数时,函数值返回1,否则返回0.(提示:

利用逻辑量flag进行操作).int

fun(longm)

inti=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中.

inti,j,flag,m=0;

n-5;

=i+5;

a[j])flag=1;

if(flag==1&

a[i]%2==1)b[m++]=a[i];

m-1;

for(j=0;

m-1-i;

if(b[j]>

b[j+1])

flag=b[j];

b[j]=b[j+1];

b[j+1]=flag;

第十题:

在数组a中有n个四位数,试编一函数:

求出千位数上的数加个位数上

的数等于百位数上的数

加十位数上的数的个数m由函数值返回,再把所有满足此条件的四位数依次存

入数组b中,然后对数组b中的四位数按从小到大的顺序排序.

inti,j,m,thou,hun,ten,data;

thou=a[i]/1000;

hun=a[i]%1000/100;

ten=a[i]%100/10;

data=a[i]%10;

if(thou+data==hun+ten)b[m++]=a[i];

if(b[j]<

data=b[j];

b[j+1]=data;

第十一题:

在数组a中有n=100个人围坐一圈并按顺时针方向从1到n编号,从

第s=1个人开始进行从1到m=10

的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,

如此进行下去直到

所有的人都出圈为止,现要求将出圈次序重新存入数组a中.

voidfun(inta[],intn,ints,intm){

inti,j,k,l,x;

i=s-1;

k=0;

l=n;

while(l>

0)

k++;

if(k==m)

x=a[i];

a[n-1]=x;

k=0;

l--;

if(i==l)i=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1