我沒有得到正確的值,我錯過了什麼?我在其他PC上有類似的代碼,它似乎工作。一直在研究它幾個小時的分析,一切看起來不錯,據我所知,但我錯過了一些肯定。 我得到最大數量= 22,最大POS = 0,分鐘數= 22,最小位置= 24函數找到最低位/最高位和值
#include <stdio.h>
int findMaxPos(int *numbers, int length);
int findMinPos(int *numbers, int length);
int findMax(int *numbers, int length);
int findMin(int *numbers, int length);
int main()
{
int arr[] = { 100, 50, 20, 35 , 25, 22};
printf("Max number = %d\nMax pos = %d\nMin number = %d\nMin position = %d", findMax(arr, 6), findMaxPos(arr, 6), findMin(arr, 6), findMinPos(arr, 6));
getchar();
return 0;
}
int findMaxPos(int *numbers, int length) {
int maxPos = 0;
for (int i = 0; i < length; i++)
{
if (numbers[i] > numbers[maxPos])
maxPos = i;
}
return maxPos;
}
int findMinPos(int *numbers, int length)
{
int minPos = 0;
for (int i = 0; i < length; i++)
{
if (numbers[i] < numbers[minPos])
minPos = i;
}
return minPos;
}
int findMax(int *numbers, int length) {
int maxNr = numbers[0];
for (int i = 0; i < length; i++)
{
if (numbers[i] > maxNr);
maxNr = numbers[i];
}
return maxNr;
}
int findMin(int *numbers, int length)
{
int minNr = numbers[0];
for (int i = 0; i < length; i++)
{
if (numbers[i] < minNr);
minNr = numbers[i];
}
return minNr;
}
看看那個額外的分號:'if(numbers [i]