编程高手帮我分析一下这个问题!

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:57:30
我学习C语言,今天想到一个问题.
我在考虑,输入一组数,找出其中最大的.当然我知道可以用排序来把顺序排好.现在我考虑的是用函数的方法.我想考虑的是不关数列的顺序,只需要找出最大的就可以了.
我输入一组数a[0]-a[i],用一个max(a,b)来比较两个数的大小,然后再把这个函数所返回的大数的值和下一个数比较.这里是不是要用到递归了??
我觉得应该用递归.但是我递归掌握的不好,老是搞不清楚..如果是用递归的话,这个max()函数应该怎么设计?
或者说用其他的算法应该怎么解决?
请高手帮忙解答~~分数追加!

在下按照楼主的想法用递归编了一个简单的求最大值,c风格,已经测试通过,搂主看看。
#include <stdio.h>

int max(int a, int b)
{
return a>b?a:b;
}

int main()
{
int a[10];
int i=0;
for (i=0;i<10;i++)
{
a[i]=i*i;
}

i=1;
int temp=a[0];
while (i!=10)
{
temp = max(temp,max(a[0],a[i]));
i++;
}
printf("max number is:%d\n",temp);
return 0;
}