|
3鱼币
我这个程序是把数组a中的整形重新按照从小到大的顺序排序,感觉自己想法没错,但是好像实现不了
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i, num, j, k;
- int a[15] = {50, 35, 45, 69, 12, 7896, 32, 45, 1, 0, 945, 3, 45, 78, 21};
- int *aa = a;
- for (int i = 1; i <= 15; i++)
- {
- if (aa[i] < aa[i - 1])
- {
- num = aa[i];
- for (j = i - 1; (j >= 0) && (aa[j] > num); --j)
- aa[j + 1] = aa[j];
- aa[j] = num;
- }
- }
- for (k = 0; k < 15; k++)
- {
- printf("%d,", aa[k]);
- }
- putchar('\n');
- system("pause");
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2022-11-10 12:39 编辑
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int c , i , num , j , k ;
- int a[15] = {50, 35, 45, 69, 12, 7896, 32, 45, 1, 0, 945, 3, 45, 78, 21} ;
- for(i = 0 , c = 1 ; i < 15 && c ; i ++)
- {
- for(c = 0 , j = 1 ; j < 15 - i ; j ++)
- {
- if(a[j] < a[j - 1])
- {
- k = a[j - 1] ;
- a[j - 1] = a[j] ;
- a[j] = k ;
- c ++ ;
- }
- }
- }
- printf("%d" , a[0]) ;
- for(i = 1 ; i < 15 ; i ++) printf(", %d" , a[i]) ;
- printf("\n") ;
- system("pause") ;
- }
复制代码
|
|