1、题目:一个结构体数组保存中每个结构体保存一个整数,求出结构体数组中最小数的个数(最小数不止一个),并保存到另一个结构体数组中。
2、代码
#include<stdio.h>
#define N 10
typedef struct
{
int s;
}STRUCT;
int fun(STRUCT *a,STRUCT *b)
{
int i,j=0;
int min=a[0].s;
for(i=0;i<N;i++)
if(min>a[i].s){
j=0;b[j++]=a[i];min=a[i].s;
}
else if(min==a[i].s)
b[j++]=a[i];
return j;
}
int main()
{
STRUCT S[N]={1,2,3,4,5,0,7,8,9,0};
STRUCT H[N];
int n;
int i;
//返回最小数的个数
n=fun(S,H);
printf("The %d lowest number:\n",n);
for(i=0;i<n;i++)
printf("%4d",H[i].s);
}
3、运行结果