计算机二级c语言程序设计题目(计算机等级考试二级C语言程序设计专项训练题——程序设计题(六))
导读:41、编写函数void fun (int a[], int b[],int *n ,其功能是:找出数组a保存的100个四位数中的全部素数,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,并通过形参n返回这些素数的个数。...
41 、编写函数void fun (int a[], int b[],int *n) ,其功能是:找出数组a保存的100个四位数中的全部素数 ,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序 ,并通过形参n返回这些素数的个数 。
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;
}
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;
}
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;
}
参考程序
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!