41、编写函数void fun (int a[], int b[],int *n),其功能是:找出数组a保存的100个四位数中的全部素数,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,并通过形参n返回这些素数的个数。

#include #include void  fun (int a[], int b[],int *n){}int main(){    int aa[100],bb[100], n, i ;    for(i=0;i<100;i++)       aa[i]=rand()%9000+1000;    printf("The original Array is : \n");    for ( i = 0 ; i < 100 ; i++ )    {        printf("%6d", aa[i]) ;        if ((i + 1) % 10 == 0) printf("\n") ;    }    fun (aa,bb, &n) ;    printf("The Result Array is : \n");    for ( i = 0 ; i < n ; i++ )    {        printf("%6d", bb[i]) ;        if ((i + 1) % 10 == 0) printf("\n") ;    }    return 0;}

void  fun (int a[], int b[],int *n){    int i,j,cnt=0,t;    for (i=0;i<100;i++)    {        if (a[i]%2==0) continue;        for (j=3;j<a[i];j+=2)            if (a[i]%j==0) break;        if (j>=a[i]) b[cnt++]=a[i];    }    for (i=0;i<cnt-1;i++)       for(j=i+1;j<cnt;j++)          if(b[i]>b[j])          {  t=b[i]; b[i]=b[j]; b[j]=t;}    *n=cnt;}

参考程序

42、编写函数void fun (int a[], int b[],int *n),其功能是:在数组a保存的100个四位数中,如果一个四位数各位上的数字均是奇数,则将该数存入数组b中,然后对所有存入数组b的满足要求的四位数按从小到大的顺序进行排序,通过形参n返回这些数的个数。

#include #include void  fun (int a[], int b[],int *n){}int main(){    int aa[100],bb[100], n, i ;    for(i=0;i<100;i++)       aa[i]=rand()%9000+1000;    printf("The original Array is : \n");    for ( i = 0 ; i < 100 ; i++ )    {        printf("%6d", aa[i]) ;        if ((i + 1) % 10 == 0) printf("\n") ;    }    fun (aa,bb, &n) ;    printf("The Result Array is : \n");    for ( i = 0 ; i < n ; i++ )    {        printf("%6d", bb[i]) ;        if ((i + 1) % 10 == 0) printf("\n") ;    }    return 0;}

void  fun (int a[], int b[],int *n){    int i,j,cnt=0,t;    for (i=0;i<100;i++)    {        int qw,bw,sw,gw;        qw=a[i]/1000;        bw=a[i]%1000/100;        sw=a[i]%100/10;        gw=a[i]%10;        if (qw%2 && bw%2 && sw%2 &&gw%2)           b[cnt++]=a[i];    }    for (i=0;i<cnt-1;i++)       for(j=i+1;j<cnt;j++)          if(b[i]>b[j])          {  t=b[i]; b[i]=b[j]; b[j]=t;}    *n=cnt;}

参考程序

43、编写函数void fun (int a[], int *n),其功能是:找出所有满足下列条件的四位自然数,并将这些四位自然数按从小到大的顺序存入数组a中,并通过形参n返回这些数的个数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。

#include #include void  fun (int a[], int *n){}int main(){    int aa[9000],n, i ;    fun (aa,&n) ;    printf("The Result Array is : \n");    for ( i = 0 ; i < n ; i++ )    {        printf("%6d", aa[i]) ;        if ((i + 1) % 10 == 0) printf("\n") ;    }    return 0;}

void  fun (int a[], int *n){    int i,cnt=0,qw,bw,sw,gw;    for (i=1000;i<10000;i++)    {        qw=i/1000;        bw=i%1000/100;        sw=i%100/10;        gw=i%10;        if (qw+bw==sw+gw && qw+bw==(gw-qw)*10)           a[cnt++]=i;    }    *n=cnt;}

参考程序