C语言选择法排序,求改正。
答案:2 悬赏:80 手机版
解决时间 2021-02-11 03:48
- 提问者网友:蔚蓝的太阳
- 2021-02-10 09:59
C语言选择法排序,求改正。
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-02-10 11:37
1、for(i=1;j<10;i++)中应该是i<10
2、每次向后找到最小值时,将最小值和a[i]交换,所以
a[0]=a[min]; int tmp = a[i];
a[min]=a[j]; 改成 a[i]=a[min];
a[j]=a[0]; a[min]=tmp;
完整代码:
#include
int main()
{
int a[11];
int i,j,min;
for(i=1;i<11;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
min=i;
for(j=i+1;j<11;j++)
if(a[min]>a[j])
min=j;
int tmp = a[i];
a[i]=a[min];
a[min]=tmp;
}
for(i=1;i<11;i++)
printf("%d ",a[i]);
printf("
");
return 0;
}
2、每次向后找到最小值时,将最小值和a[i]交换,所以
a[0]=a[min]; int tmp = a[i];
a[min]=a[j]; 改成 a[i]=a[min];
a[j]=a[0]; a[min]=tmp;
完整代码:
#include
int main()
{
int a[11];
int i,j,min;
for(i=1;i<11;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
min=i;
for(j=i+1;j<11;j++)
if(a[min]>a[j])
min=j;
int tmp = a[i];
a[i]=a[min];
a[min]=tmp;
}
for(i=1;i<11;i++)
printf("%d ",a[i]);
printf("
");
return 0;
}
全部回答
- 1楼网友:痴妹与他
- 2021-02-10 12:53
写上完整的{}配对,再把循环的开始、结束对照清楚
~~~~~~~
~~~~~~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯