#include <stdio.h>
void sort(int a[])
{
int i,j,t;
for(i=0;i<4;i++)
{
for(j=0;j<4-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void main()
{
int a[5]={5,10,-7,3,7},i;
sort(a);
for(i=0;i<=4;i++)
{
printf(“%d\n”,a[i]);
}
}
请问这段代码的功能是什么啊
>> 本文固定链接: http://www.vcgood.com/archives/2415
是从小到大把数输出,不过好像这段程序不大对!~
#include <stdio.h>
void sort(int a[])
{
int i,j,t;
for(i=0;i<5;i++)
{
for(j=0;j<5-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void main()
{
int a[5]={5,10,-7,3,7},i;
sort(a);
for(i=0;i<=4;i++)
{
printf(“%d\n”,a[i]);
}
getche();}
应该是5 不应该是4!~
[QUOTE=redmay1986]
是从小到大把数输出,不过好像这段程序不大对!~
#include <stdio.h>
void sort(int a[])
{
int i,j,t;
for(i=0;i<5;i++)
{
for(j=0;j<5-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void main()
{
int a[5]={5,10,-7,3,7},i;
sort(a);
for(i=0;i<=4;i++)
{
printf(“%d\n”,a[i]);
}
getche();}
应该是5 不应该是4!~
[/QUOTE]
这应该叫冒泡法吧!~a[0]和a[1]比较用中间变量把小的赋给a[0],然后a[1]和a[2]比较用中间变量把小的赋给a[1],以此类推!~
谢谢大哥大姐们的帮忙
#include <stdio.h>
void sort(int a[])
{
int i,j,t;
for(i=0;i<4;i++)
{
for(j=0;j<4-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void main()
{
int a[5]={5,10,-7,3,7},i;
sort(a);
for(i=0;i<=4;i++)
{
printf(“%d\n”,a[i]);
}
}
这个排序不需要两个循环的,两个的话会很浪费计算机的时间
#include <stdio.h>
void sort(int a[])
{
int i,t;
for(i=0;i<5;i++)
{if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
void main()
{
int a[5]={5,10,-7,3,7},i;
sort(a);
for(i=0;i<5;i++)
{
printf(“%4d”,a[i]);
}
printf(“\n”);
}
不好意思…刚才贴错了
大哥 你这是直接打印啊
老师说是从小到大的排序………..