帮忙写一个小程序测试一下下面这个找出数组中最大数字位置的程序

来源:百度知道 编辑:UC知道 时间:2024/05/30 08:42:30
帮忙写一个小程序测试一下下面这个找出数组中最大数字位置的程序
int findMax(int *a, int len)
{
int i,position;
if (len==0)
{
return 0
}
else
{
position = 0;
}

for(i=1;i<len;i++)
{
if(a[position]<a[i])
{
position = i;
}
}
return position
}
高手们:你下面的测试只是取了一个数组。我是想通过测试程序来判断上面的程序的正确性,只用一个数组来检验并不能完全检验程序的对错。你能有办法嘛?
如用int main (int argc, char *argv[])

// 你的程序里面
return 0; // 要加分号
return position; // 要加分号

调试程序:
#include <stdio.h>
int findMax(int *a, int len);

void main(int argc, char *argv[])
{
int *a;
int i,len;
if (argc < 3) {
printf("\007Usage: %s a[0] a[1] a[2] a[3] .....\n",argv[0]);
printf("for example: \n");
printf("%s 3 5 -7 9 4 20 1\n",argv[0]);
printf("%s 5 -7 9 16 2\n",argv[0]);
exit(0);
}
len = argc - 1;
a = (int *) malloc(len * sizeof(int));
for (i=0;i<len;i++) sscanf(argv[i+1],"%d",&a[i]);
printf("result: %d\n", findMax(a, len));
}
下面是你的函数定义。

==========================
使用方法:
程序名 数组元素0 1 2 3 4 5 ...
例如:
prog.exe 5 -7 9 16 2 8 2 1 4

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int findMax(int *a, int len)
{
in