函数void fun功能是分别求出一维数组a中所有奇数项中最大值和最小值

函数void fun功能是分别求出一维数组a中所有奇数项中最大值和最小值 所有偶数中的最大值 形参n给出数组中数据的个数 利用指针small返回奇数项中的最小值 利用指针big返回偶数项中的最大值 要求在主调函数中初始化一个一维数组并在主调函数中调用函数fun后在主调函数中输出结果 急用!!!谢谢了!!!

#include <stdio.h>
#include <string.h>

void fun(char *test_array,int n,char *smallest,char * biggest)
{
int i;
*smallest=test_array[1];
*biggest=test_array[0];
for (i=2;i<n;i++)
{
if (0==i%2)
{
if(test_array[i]>*biggest)
*biggest=test_array[i];
}
else
{
if(test_array[i]<*smallest)
*smallest=test_array[i];
}
}
}

int main()
{
char test_array[]={'9','3','2','6','8','5','7'};
char smallest,biggest;
fun(test_array,7,&smallest,&biggest);

printf("small is : %c\nbig is : %c\n",smallest,biggest);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-04
#include <stdio.h>
void fun(int a[],int *small,int *b,int *s,int *big,int n)
{
int i;
*small=*b=a[0];
*s=*big=a[1];

for(i=2;i<n;i+=2)
if(*b<a[i])
*b=a[i];
else if(*small>a[i])
*small=a[i];
for(i=3;i<n;i+=2)
if(*big<a[i])
*big=a[i];
else if(*s>a[i])
*s=a[i];
}
int main()
{
int small,b,s,big,a[10]={5,78,54,36,76,35,87,1,65,4};
fun(a,&small,&b,&s,&big,10);
printf("偶数项中最小值/最大值为:%d/%d\n",small,b);
printf("奇数项中最小值/最大值为:%d/%d\n",s,big);
}
//注:small,b,s,big分别表示偶数项中最小值/最大值,奇数项中最小值/最大值
相似回答