把数组中的所有偶数放在另一个数组中,并排序在主函数调用函数,

如题所述

C语言可以这么写——

#include "stdio.h"
int fun(int *p,int *q,int n){
int i,j,k;
for(n--;p[n]&1;n--)//没有偶数返回0
if(n<0)
return 0;
for(q[0]=p[n--],i=1;n>=0;n--)//把偶数存入另一数组
if(!(p[n]&1))
q[i++]=p[n];
for(n=i,i=0;i<n;i++){//对偶数数组由小到大排序
for(k=i,j=k+1;j<n;j++)
if(q[k]>q[j])
k=j;
if(k!=i)
j=q[k],q[k]=q[i],q[i]=j;
}
return n;//返回偶数数组长度
}
int main(int argc,char *argv[]){
int a[20]={1,8,3,6,4,2,9,7,5,11,15,10,20,19,16,14,12,18,17,13},b[20],t,i;
printf("The results are as follows:\n");
if((t=fun(a,b,20))>0)//偶数数组长度大于0则输出
for(i=0;i<t;printf("%d ",b[i++]));
else//长度为0则提示没找到偶数
printf("Not even!");
printf("\n");
return 0;
}

运行结果:

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网