C语言程序,错在哪里呀?程序如下,但是运行结果不对,求指点。谢谢,急!

#include<stdio.h>
int main()
{
int i,number[10];
int max=0;

printf("请输入10个数字:\n");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
for(i=0;i<10;i++)
{
if(number[i]<number[i+1])
max=i+1;

}
printf("最大的数为:%d,下标为:%d\n",number[max],max);

return 0;

}

第1个回答  2014-04-15
#include<stdio.h>
int main()
{
    int i,number[10];
    int max=0;

    printf("请输入10个数字:\n");
    for(i=0;i<10;i++)
        scanf("%d",&number[i]);
    for(i=0;i<10;i++)
    {
        if(number[i]<number[i+1])//此处错误,你没有记录最大值,只是让相邻两个值比///较,故此,不能找到最大值的位置。正确的写法是:
        //for(i=0;i<10;i++)
        //{
        //    if(max<number[i])
        //    max=i;
        //}
            max=i+1;

    }
    printf("最大的数为:%d,下标为:%d\n",number[max],max);

    return 0;

}

第2个回答  2014-04-15
你i=9时,i+1=10,数组越界了追问

for循环的i<9吗?应该怎么修改呢?

追答

你是要求10个数的最大数吗

本回答被提问者采纳
第3个回答  2014-04-15
#include<stdio.h>
int main()
{
int i,number[10];
int max=0;
int maxnum=0;

printf("请输入10个数字:\n");
for(i=0;i<10;i++)
scanf("%d",&number[i]);

maxnum=number[0];
for(i=1;i<9;i++)
{
if(maxnum<number[i+1])
{
maxnum=number[i+1];
max=i+1;
}

}
printf("最大的数为:%d,下标为:%d\n",number[max],max);

return 0;

}
相似回答