永发信息网

C语言 求一维数组中最大值的位置

答案:4  悬赏:60  手机版
解决时间 2021-02-23 03:16
  • 提问者网友:嘚啵嘚啵
  • 2021-02-22 19:04
C语言 求一维数组中最大值的位置
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-02-22 19:35
求出数组长度,设立一个变量imax记录当前最大值的下标;对数组进行遍历比较,总是把最大值的下标赋给imax,遍历完成后imax即为所求位置。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    int a[]={1,6,18,19,13,5,2,20,3,4,12,14,15,16,17,7,8,9,10,11},i,imax,ln;
    for(ln=sizeof(a)/sizeof(int),i=imax=0;i        if(a[imax]            imax=i;
    printf("The maximum is the subscript of %d elements.
",imax);
    return 0;
}
全部回答
  • 1楼网友:行雁书
  • 2021-02-22 21:46
#include
#include
int main ()
{
int i,max,min,j;
int a[10];
for(i=0;i<10;i++)
{
printf("Please input NO.%d numbers:\n",i+1);
scanf("%d",&a[i]);
}
max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
j=i;
}
}
printf("The location is%d\t%d",max,j);
return 0;
}
一分都没,我还想挣分呢
  • 2楼网友:逐風
  • 2021-02-22 20:56
#include
#include
int main ()
{
int i,max,j;
int a[10];
printf("Please input 10 numbers:\n");
for(i=0;i<10;i++) //=号去掉
{
scanf("%d",a[i]);
printf("\n");
}
max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
j=i;
}
printf("The location is%d",max,j);
}
system("pause");
return 0;
}
  • 3楼网友:廢物販賣機
  • 2021-02-22 20:32
int i,max,min,j;
int a[i];
i还没有赋值呢,int a[i];这个定义有问题
改成 int a[10];试试
for(i=0;i<=10;i++)
这里其实是11个数了,i<10就行了
max=a[0];
加上j=0
如果第一个是最大的,j就不会被赋值了,输出的时候,会有问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯