|
发表于 2013-4-20 13:36:32
|
显示全部楼层
可以用动态数组来实现,我写了个,代码仅供参考。- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- int i,j,t,num;
- int flag = 0;
- int *p = NULL;
- printf("请输入数组个数:");
- scanf("%d", &num);
- p = (int*)malloc(num*sizeof(int));
- if(NULL == p)
- {
- printf("内存不足");
- exit(1);
- }
- for(i=0;i<num;i++)
- scanf("%d",&p[i]);
- printf("\n");
- for(i=0;i<num;i++)
- {
- flag = 0;
- for(j=0;j<num-i;j++)
- if(p[j]>p[j+1])
- {t=p[j+1];p[j+1]=p[j];p[j]=t;flag = 1;}
- if(0 == flag)
- {
- break;
- }
- }
- printf("数组值按小到大排序:");
- for(i=0;i<num;i++)
- printf(" %d",p[i]);
- printf("\n");
- }
复制代码 |
|