#include"stdio.h"
main()
{
int a[10],i,j,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%5d",a[i]);
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
}我明明是想编从大到小为什么这是从小到大 if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}这条语句求解释
c语言的问题求大神的指导!!!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- danielinbiti 2015-07-16 05:18关注
for(j=0;j<10;j++) 改成 for(j=i;j<10;j++) k=a[i];//把i位置的值给临时变量k a[i]=a[j];//把j位置的值给位置i a[j]=k;//把临时变量K的值给位置j,实现位置i,j的值交换
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报