C程序运行以后 后面的那些无关的数字是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/05/30 18:35:38
#include<stdio.h>
void main()
{
int i,j,min,temp,a[11];
printf("enter data:\n");
for(i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("/n");
printf("The orginal num :\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("/n");
for(i=1;i<=9;i++)
{j=i+1;
for(j=i+1;j<=10;j++)
{
if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp; }

}
for(i=1;i<=10;i++)
{printf("%5d",a[i]); }
printf("/n");

}

运行以后 后面的那些无关的数字是怎么回事?
请高手指教
原因是什么

程序先让你输入10个数字,然后显示你输入的10个数字,最后把10个数字从小到大的输出,你的程序有两个小问题,我给你修改后如下:

#include<stdio.h>
void main()
{
int i,j,min,temp,a[11];
printf("enter data:\n");
for(i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}
printf("\n");
printf("The orginal num :\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
for(i=1;i<=9;i++)
for(j=i+1;j<=10;j++)
if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}
for(i=1;i<=10;i++)printf("%5d",a[i]);
printf("\n");
}

下面是我执行的一次情况:

nenter data:
a[1]=3
a[2]=4
a[3]=5
a[4]=6
a[5]=7
a[6]=8
a[7]=9
a[8]=1
a[9]=2
a[10]=10

The orginal num :
3 4 5 6 7 8 9 1 2 10
1 2 3 4 5 6 7 8 9 10