ACM水题求高手解答!!!我真的找不出来哪错了!!!
表中数据元素的数据类型为整型,假设数组中没有重复元素,找出数组中的最大值,并输出其下标和最大值。
输入样例:
6
1 3 5 9 11 13
输出样例:
5 13
输入描述:
输入数组中元素的个数n,占一行
输入n个不相同的整数,以空格隔开,占一行
输出描述:
输出最大值的下标和最大值,以空格隔开
我的代码:
#include<iostream>
using namespace std;
int main()
{
int *i,n;
int a,b,c;
while (cin>>n)
{
i=new int[n];
for(a=0; a<n; a++) cin>>i[a];
for(a=0;a<n;a++)
{
if(i[a]>b)
{
b=i[a];
c=a;
}
}
cout<<c<<" "<<b<<endl;
delete []i;
}
return 0;
}
[解决办法]
b没有初始化,默认为0,如果后面有全负数就不行了,应该把b初始化为数组第一个数。