两个程序上有何不同,怎么运行的结果不一样,请高手指点

来源:百度知道 编辑:UC知道 时间:2024/06/18 05:35:05
一下有两段C语言的程序,我读起来是一样的,但是运行起来是不一样的结果,请高手指点是那个地方不一样了!#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("\n");
getch();
return(0);
}

#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0+j;i<9;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}

第一个是冒泡排序,第二个程序估计是想用选择排序,不过代码写错了。
还有int main()怎么还带个返回值?语法有错误。
如果非得说不同的就是双重循环中第二重循环的起点不同,第一个是从0开始,第二个是从上一循环之后的数开始。