我用选择排序法,怎么编写的代码实现不了呢,
#include <stdio.h>
int main()
{
int a[10],i,j,k,temp;
printf("请输入10位数\n",a[i]);
for(i=0;i<10;i++)
{
scanf("% d",&a[i]);
}
for(i=0;i<9;i++)
{
k=i;
for(j=1;j<10;j++)
{
if(a[k]>a[j])
{ k=j;}
}
if(k!=i)
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
printf("调序之后得数是:% d\n");
for(i=0;i<10;i++)
{ printf("% d",a[i]);}
printf("\n");
return 0;
}
for(j=1;j<10;j++)这里你写错了,应该是for(j=i+1;j<10;j++)
j 从i+1(或者i)开始,不是从1开始,你把i写成1了
#include <stdio.h>
int main()
{
int a[10],i,j,k,temp;
printf("请输入10位数\n",a[i]);
for(i=0;i<10;i++)
{
scanf("% d",&a[i]);
}
for(i=0;i<9;i++)
{
k=i;
for(j=i;j<10;j++)//这里,你把i写成1了
{
if(a[k]>a[j])
{ k=j;}
}
if(k!=i)
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
printf("调序之后得数是:% d\n");
for(i=0;i<10;i++)
{ printf("% d",a[i]);}
printf("\n");
return 0;
}