|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- void main()
- {
- int a[30]={256,165,1651,145,15,16515,784,8971,18,9,49,498,498,45,445,66,22,55,4,52,2,55,6,6,44,2,2,85,5};
- int m,n,i;
- for (m=0;m<=28;m++)
- {
- for(n=0;n<=28;n++)
- {
- if(a[n]>a[n+1])
- {
- i=a[n] ; a[n]=a[n+1] ;a[n=1]=i ;
- }
- }
- }
- for (i=0;i<=29;i++)
- {
- printf("%5d",a[i]);
-
- }
- }
复制代码
这是根据你的代码改的,改动的两处都做了注释~
#include <stdio.h>
void main()
{
int a[30] = { 256, 165, 1651, 145, 15, 16515, 784, 8971, 18, 9, 49, 498, 498, 45, 445, 66, 22, 55, 4, 52, 2, 55, 6, 6, 44, 2, 2, 85, 5 };
int m, n, i;
for (m = 0; m <= 28; m++)
{
//for (n = 0; n <= 28; n++)
for (n = m; n <= 29; n++)//最大下标是29
{
if (a[n]>a[m])
{
//i = a[n]; a[n] = a[n + 1]; a[n = 1] = i;
//这里应该交换a[m]和a[n]
i = a[n];
a[n] = a[m];
a[m] = i;
}
}
}
for (i = 0; i <= 29; i++)
{
printf("%5d", a[i]);
}
}
|
|