输入10个整数存入一维数组,将其中的最大值与最后一个数交换,最小数与第1个数交换,输出交换后的结果.

Sample Input
10 8 34 45 67 78 42 43 89 3
Sample Output
3 8 34 45 67 78 42 43 10 89
我写的是
#include<stdio.h>
main()
{
int a[10],i,m,n,j,k,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
m=a[0];
n=a[0];
for(i=1;i<10;i++)
{
if(a[i]>m)
{
m=a[i];j=i;
}
else if(a[i]<n)
{
n=a[i];k=i;
}
else continue;
}
t=a[0];a[0]=a[k];a[k]=t;
t=a[9];a[9]=a[j];a[j]=t;
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
测试正确,提交错误,是怎么回事?

第1个回答  2014-12-26
由于不够简化:
#include<stdio.h>
main()
{
int a[10],i,m,n,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
m=a[0];
n=a[0];
for(i=1;i<10;i++)
{
if(a[i]>m)
{
m=a[i];
t=a[9];a[9]=a[i];a[i]=t;
}
else if(a[i]<n)
{
n=a[i];
t=a[0];a[0]=a[i];a[i]=t;

}
else continue;
}

for(i=0;i<10;i++)
printf("%d ",a[i]);
}
你这样呢试试看追问

这样改了之后程序不能输出正确结果了啊

追答

你提交到哪里,提示错误???

追问

交作业啊,,

第2个回答  2014-12-26
这道题我也错过好几次...先找最大值,然后更改,再找最小值,再改就可以了...数据范围不大,可以的追问

是的

本回答被提问者采纳
第3个回答  2017-10-21
是不是格式问题,输出的最末尾不能有空格吧
第4个回答  2014-12-28
它的值是哪个的值?