本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6
2 8 10 1 9 10
输出样例:
10 2c++
#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; }
问题1:一开始写的代码思路有点乱,在c++上能够运行,但在pta上就不行
解决方法:从新编辑代码,在c++上调试,看错在哪,改正。设计
问题2:以后提交仍是发现错误,询问同窗,发现少了一种状况
解决方法:极端状况的缺失,但在我原有的代码上不能加上,改变了一种方法,当输入0的时候也须要有结果,因此一开始得给m赋值0。3d
问题3:不理解输入0的时候为何值要为-1和0
解决方法:同窗讲解,本身也查了一下,-1是由于系统随机输出一个值,而0是由于下标就为0.调试