麻烦看下杭电 2016,我那边写错了,一直是wrong answer

#include<stdio.h>main(){intn,i,a[101],tmp,mint,min;while(scanf("%d",&n)!=EOF){if(n>10... #include <stdio.h>
main()
{ int n,i,a[101],tmp,mint,min;
while(scanf("%d",&n)!=EOF)
{ if(n>100)break;

if(n==0) break;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
min=a[0];
for(i=0;i<n;i++)
if(a[i]<min)
{ mint=i;
min=a[i];
}
tmp=a[mint];

a[mint]=a[0];
a[0]=tmp ;
for(i=0;i<n;i++)
{ if(n-i==1)
{printf("%d\n",a[i]) ;break; }
printf("%d ",a[i]);
}
printf("\n");

}
}
展开
 我来答
Tidus_forever
2012-02-14 · TA获得超过4399个赞
知道大有可为答主
回答量:2782
采纳率:100%
帮助的人:1829万
展开全部
这个是题目描述问题,如果有多个都是最小值的话,取最后一个。
if(a[i]<=min)
追问
改了还没用。。
追答
#include 
int main()
{
int n,i,a[101],tmp,mint,min;
while(true)
{
scanf("%d",&n);
if(n==0)
return 0;
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
min=a[0];
for(i=0; i<n; i++)
{
if(a[i]<=min)
{
mint=i;
min=a[i];
}
}
tmp=a[mint];
a[mint]=a[0];
a[0]=tmp ;
printf("%d",a[0]);
for(i=1; i<n; i++)
{
printf(" %d",a[i]);
}
printf("\n");
}
}
// 在你的代码基础上修改的,提交通过了,你自己比较看看吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式