请帮忙!打印地址不对啊
#include <stdio.h>
#define M 10
int Max, Min;
int comp(int a[], int);
int main(void)
{
int aiCount[M];
int i;
printf("\nPlease input %d numbers : \n", M);
for(i = 0; i < M; i++)
scanf("%d", &aiCount[i]);
comp(aiCount, M);
return 0;
}
int comp(int aiCount[], int n)
{
int i, iCnt1, iCnt2;
Max = Min = aiCount[0];
for(i = 0; i < n; i++)
{
if(aiCount[i] > Max)
{
Max = aiCount[i];
iCnt1 = i;
}
if(aiCount[i] < Min)
{
Min = aiCount[i];
iCnt2 = i;
}
}
printf("\nThe max number is %d and its position is %d", Max, iCnt1);
printf("\nThe min number is %d and its position is %d", Min, iCnt2);
return 0;
}
/*输入一个一维数组,打印其中的最大值与最小值以及它们的位置*/
在第二个printf中打印最小数的位置不对,为什么!
问题点数:10、回复次数:3Top
1 楼Konker_Roc()回复于 2005-04-03 17:10:44 得分 0
感觉没什么错误啊!Top
2 楼kobefly(科比--网络学习中)回复于 2005-04-03 17:16:49 得分 10
int i, iCnt1, iCnt2;
这里初始化一下
int i, iCnt1 = 0, iCnt2 = 0;
Max = Min = aiCount[0];
for(i = 1; i < n; i++)//这里从1开始
{
if(aiCount[i] > Max)
{
Max = aiCount[i];
iCnt1 = i;
}
if(aiCount[i] < Min)
{
Min = aiCount[i];
iCnt2 = i;
}
}Top
3 楼jsd850926(紫冰)回复于 2005-04-03 18:39:21 得分 0
謝謝暸 我總是這么粗心 呵呵Top




