C++编程 输入一个正整数n(1<n<=10),再输入n个整数,输出其最大值及其下标

5.
【问题描述】输入一个正整数n(1<n<=10),再输入n个整数,输出其最大值及其下标(设最大值唯一,下标从零开始)。
【输入形式】
【输出形式】
【样例输入】5

1 2 5 4 0
【样例输出】max=5,index=2
【样例说明】
【评分标准】

#include&lt;stdio.h&gt;

main()

{

int n,i,j;

scanf("%d",&n);

int a[11];

for(i=0;i&lt;n;i++)

scanf("%d",&a<i>);

for(j=0;j&lt;n;j++)

{

if(a[0]&lt;a[j])

{

a[0]=a[j];

i=j;

}

else if(a[0]==a[j])

{

a[0]=a[j];

if(i&gt;j)

{

i=j;

}

}

}

printf("%d%d",a[0],i);

}

扩展资料:

scanf函数用法:

scanf("输入控制符",输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-28
#include <stdio.h>
int main(){
int a[11],n,i,index=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
if (a[index]<a[i]) index=i;
printf("max=%d,index=%d\n",a[index],index);
}本回答被提问者和网友采纳
第2个回答  2018-05-10
#define N 9
#include <stdio.h>
int main()
{
int a[N],n,i,index=0;
printf("Input n: ");
scanf("%d",&n);
printf("Input %d integers: ",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
if (a[index]<a[i]) index=i;
printf("max=%d,index=%d",a[index],index);
return 0;
}
相似回答