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

#include <stdio.h>
#include <stdlib.h>
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;
}
计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)

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 <stdio.h>
#include <stdlib.h>
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;
}
计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)

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 <stdio.h>
#include <stdlib.h>
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;
}
计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)计算机等级考试二级C语言程序设计专项训练题——程序设计题(六)

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;
}

参考程序

发表回复