求最大值及其下標
阿新 • • 發佈:2019-02-28
ase 第一次 一個 image eml std 檢索 要求 out 7-2 求最大值及其下標 (20 分)
scanf("%d",&a[i]);
}
//在一行中輸出最大值及最大值的最小下標,中間用一個空格分開
int max;
max=0; //檢索最大值
for(i=1;i<n;i++){
if(a[i]>a[max]) {
max=i;
}
}
printf("%d %d",a[max],max);
return 0;
}
本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。
輸入格式:
輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。
輸出格式:
在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。
輸入樣例:
6
2 8 10 1 9 10
輸出樣例:
10 2
(1)實驗代碼
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
int a[n-1];
for(i=0; i<n;i++){
}
//在一行中輸出最大值及最大值的最小下標,中間用一個空格分開
int max;
max=0; //檢索最大值
for(i=1;i<n;i++){
if(a[i]>a[max]) {
max=i;
}
}
printf("%d %d",a[max],max);
return 0;
}
(2)設計思路
1.定義變量n,i,輸入n,定義數組a[n-1]。
2.用for循環依次輸入數值。
3.定義一個最大值max。
4.初始化max。
5.用for循環依次判斷if。
6.用if判斷數值是否大於max,大於就將該數賦值max,不大於max就不變。
7.輸出最大值及其下標。
(3)本題調試過程碰到問題及解決辦法
第一次先是分開執行找max,找下標,後來學會簡化代碼,第一次方式有點問題,問同學知道思路不對後改正
(4)實驗截圖
正確的截圖
求最大值及其下標