0

配列と関数を使用して最大値と最小値を見つけようとしていました。最大値は取得できましたが、最小値が表示されません。iノード番号であると私が信じている乱数を与えます。次のプログラムから最小値を取得するにはどうすればよいですか?

    #include <stdio.h>
    #include <stdlib.h>
    void get(int array[], int size);
    void print(int array[], int size);
    int max(int array[], int size);
    int min(int array[], int size);
    int main ()
    {
        int max_value, min_value;
        int list[10];
        get(list, 10);
        print(list,10); 
        max_value = max(list, 10);
        min_value = min(list,10);
        printf("The maximum number in the arrays is %d\n", max_value);
        printf("The minimum number in the array is %d\n", min_value);
    }
    void get(int array[], int size)
    {
        int i;
        for (i=0; i<10; i++)
            array[i] = rand();
    }
    void print(int array[], int size)
    {
        int i;
        for (i=0; i<10; i++)
            printf("%d\n", array[i]);
        printf("\n");
    }

    int max(int array[], int size)
    {
        int i,max;
        max=array[0];
        for(i=0; i<10; i++)
            array[i];
        if (array[i]>max)
            max = array[i];
        return max;
    }

    int min(int array[], int size)
    {
        int i, min;
        min = array[0];
        for (i=0; i<10; i++)
            array[i];
        if(array[i]<min)
            min = array[i];
        return min;
    }
4

2 に答える 2

0

forステートメントを見てください。スコープブラケットが必要です。例えば

// What is actually done
for( /* params */ )
    // First line is ran
// Line here is not executed by the for-loop

あなたがする必要があるのは:

// Good for-loop statement
for(int i = 0; i < 10; i++)
{ // SCOPE begin
    /*
        Code executed
    */
 } // loop ended 

for ループの外でiを定義したため、エラーは表示されません。ただし、正しく動作しません。

于 2013-11-01T19:28:15.503 に答える