第一週做業2 求最大值及其下標

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

本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。
輸入格式:
輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。
輸出格式:
在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。
輸入樣例:
6
2 8 10 1 9 10
輸出樣例:
10 2c++

1.實驗代碼

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

2.設計思路

3.本題調試過程碰到問題及解決方法

錯誤截圖


問題1:一開始寫的代碼思路有點亂,在c++上能夠運行,但在pta上就不行
解決方法:從新編輯代碼,在c++上調試,看錯在哪,改正。設計

問題2:以後提交仍是發現錯誤,詢問同窗,發現少了一種狀況
解決方法:極端狀況的缺失,但在我原有的代碼上不能加上,改變了一種方法,當輸入0的時候也須要有結果,因此一開始得給m賦值0。3d

問題3:不理解輸入0的時候爲何值要爲-1和0
解決方法:同窗講解,本身也查了一下,-1是由於系統隨機輸出一個值,而0是由於下標就爲0.調試

4.運行結果截圖

相關文章
相關標籤/搜索