c语言求数组a中成绩低于m的人数,电脑常规操作——c语言数组练习题及解答.doc...

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;

for(i=0;i

{

k=i;

for(j=i+1;j

if(a[j]%1000

else if(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;

}

}

for(i=0;i

return m;

}

第七题:在三位数(100至999)中寻找符合下面条件的整数.它即是完全平方数,又有两位

数字相同.(如:144,676;)并将符合条件数的个数n由函数值返回,符合条件的数 存入数组a中返回.

int fun(int a[])

{

int i,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||ten==data||data==hun) a[n++]=j;

}

}

return n;

}

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

数时,函数值返回1,否则返回0.(提示:利用逻辑量flag进行操作). int fun(long m)

{

int i=0,n=0,flag=1,a[20];

while(m)

{

a[n]=m%10; m=m/10; n++;

}

while

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值