写了一个c程序出现了一个错误,帮忙看看

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:50:42
#include<stdio.h>
main()
{ int a[10];
int i,j,k;
int max,min;
printf("Please input ten numbers:");
for(i=0;i<10;i++) scanf("%d",&a[i]);
min=max=a[0];
for(i=0;i<10;i++)
{ if(min>a[i]) {min=a[i];j=i;}
if(max<a[i]) {max=a[i];k=i;} }
printf("The max number is a[%d] %d\nThe min number is a[%d] %d",k,max,j,min);
}

目的就是输入10个数,然后输出最大的数和最小的数,还有他们的下标。

输出结果老是不对~!

楼主的代码没有任何问题,我测试了几遍没有错误
只是楼主要注意C语言的数组下标是从0开始的也就是说要加一才是真正的位置
不过不加也没关系只要理解就好
希望对你有帮助!

#include<stdio.h>
main()
{ int a[10];
int i,j,k;
int max,min;
printf("Please input ten numbers:");
for(i=0;i<10;i++) scanf("%d",&a[i]);
min=max=a[0];
for(i=0;i<10;i++)
{ if(min>a[i]) {min=a[i];j=i;}
if(max<a[i]) {max=a[i];k=i;} }
printf("The max number is a[%d] %d\nThe min number is a[%d] %d",k,max,j,min); //k,j改为k+1,j+1.为什么呢?自己想。。。
}