求最大值及其下標編程總結


-2 求最大值及其下標 (20 分)

本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。

輸入格式:

輸入在第一行中給出一個正整數n(1<n10)。第二行輸入n個整數,用空格分開。

輸出格式:

在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。

輸入樣例:

6
2 8 10 1 9 10

輸出樣例:

10 2

#include<stdio.h>
int main (void)
{
  int f=0,i,n;
  scanf("%d",&n);
  int a[n];
  for(i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
    for (i=1;i<n;i++){
        if (a[i]>a[f]) f=i;
    }
    printf("%d %d",a[f],f);
    return 0;

}

實驗思路

用數組a[f]來進行比較,比它要大的原屬就把其值賦給f,小於它的元素跳過執行下一部操作

錯誤截圖

 

解決方法;第一個for循環中把每個f都賦值為0,且n的個數不一定都是10.第二個for循環中由於f以賦值為0,所以i的賦值要改為1,a[f]為a[0],然后i語句把最大值賦給a[f],其下標也給f。

思維導圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM