7-2 求最大值及其下標 (20 分)
本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。
輸入格式:
輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。
輸出格式:
在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。
輸入樣例:
6
2 8 10 1 9 10
輸出樣例:
10 2
實驗代碼:
#include<stdio.h>
int main ()
{
int n,i,max;
int a [10];
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&a [i]);
}
max=0;
for(i=1; i<n; i++)
{
if(a [i]>a [max])
{
max=i;
}
}
printf("%d %d",a [max],max);
return 0;
}
設計圖:
實驗思路:也同樣先定義n,i,max,再定義輸出數組,和上題差不多,假設max不在數組內,max等於0,在for循環內假設數組a[i]>a[max]時,令max=i,結束,輸出;
問題:一開始總是錯誤,如圖,三個字,老是不知道哪里錯了,反反復復的看,發現在輸入數組時忘記寫&這個符號。