首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

同一道题,用选择法对10个整数由小到大(升序)排序。为什么两个程序下面的不对?下面的到底异常出在哪啊

2013-03-21 
同一道题,用选择法对10个整数由小到大(升序)排序。为什么两个程序上面的不对??上面的到底错误出在哪啊?????

同一道题,用选择法对10个整数由小到大(升序)排序。为什么两个程序上面的不对??上面的到底错误出在哪啊?????
#include<stdio.h>

void sort(int a[],int n)
{
int i,j,t;
        for(i=0;i<n-1;n++)
{
    for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
void main()
{
int s[10],i;
for(i=0;i<10;i++)
{printf("please input number");
scanf("%d",&s[i]);}
sort(s,10);
for(i=0;i<10;i++)
printf("%4d",s[i]);
}
/*#include<stdio.h>
void sort(int a[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{

k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])k=j;
if(k!=i)
{
t=a[k];a[k]=a[i];a[i]=t;
}
}
}
void main()
{
int s[10],i;

for(i=0;i<10;i++)
{printf("input the array:");
scanf("%d",&s[i]);}
sort(s,10);
printf("output the array:");
for(i=0;i<10;i++)
printf("%4d",s[i]);
}*/同一道题,用选择法对10个整数由小到大(升序)排序。为什么两个程序下面的不对?下面的到底异常出在哪啊
[解决办法]


void sort(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;n++) //这里是不是应该是i++? 
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
}

[解决办法]
for(i=0;i<n-1;n++) 这里是i++;不是n++;

热点排行