求最大值及其下标编程总结
本題要求編寫程序,找出給定的n個(gè)數(shù)中的最大值及其對應(yīng)的最小下標(biāo)(下標(biāo)從0開始)。
輸入格式:
輸入在第一行中給出一個(gè)正整數(shù)n(1<n≤10)。第二行輸入n個(gè)整數(shù),用空格分開。
輸出格式:
在一行中輸出最大值及最大值的最小下標(biāo),中間用一個(gè)空格分開。
輸入樣例:
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;
}
實(shí)驗(yàn)思路
用數(shù)組a[f]來進(jìn)行比較,比它要大的原屬就把其值賦給f,小于它的元素跳過執(zhí)行下一部操作
錯(cuò)誤截圖
?
解決方法;第一個(gè)for循環(huán)中把每個(gè)f都賦值為0,且n的個(gè)數(shù)不一定都是10.第二個(gè)for循環(huán)中由于f以賦值為0,所以i的賦值要改為1,a[f]為a[0],然后i語句把最大值賦給a[f],其下標(biāo)也給f。
思維導(dǎo)圖
?
轉(zhuǎn)載于:https://www.cnblogs.com/I-FEAR-ONLY-TIME/p/10466554.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的求最大值及其下标编程总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot基础篇AOP之基本使
- 下一篇: SQL语句错误:Operand shou