上题目
求最大值及其下标 (4 分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6 2 8 10 1 9 10
输出样例:
10 2
唠嗑
刚学的时候写的代码很长。依次读入并存入多个数字,再挨个比较。
但是每次在读入数字的时候可以顺带比较一下,因为它最后只需要一个数据,我根本不需要存入那些数。
上代码
#include <iostream>
using namespace std;
int main()
{
int i, j,x, max, n;
cin >> i;
cin >> x;max = x; n =0;
for(j=1;j<i;j++)
{
cin >> x;
if (x > max) { max = x; n = j; }
}
cout << max << " " << n;
return 0;
}
下面是以前写的。
#include <iostream>
using namespace std;
int main()
{
int i, x;
cin >> i;
int a[i];
for (x = 0; x < i; x++)
{
cin >> a[x];
}
int da;
int num = 0;
da = a[0];
for (x = 1; x < i; x++)
{
if (a[x] > da)
{
num = x;
da = a[x];
}
}
cout << da << " " << num;
return 0;
}