fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void printA(int a[], int n){
  5. int i;
  6. for(i=0;i<n;i++){
  7. printf("%d ",a[i]);
  8. }
  9. printf("\n");
  10. }
  11.  
  12. void swap(int* a, int* b){
  13. int tmp;
  14. tmp = *a;
  15. *a = *b;
  16. *b = tmp;
  17. }
  18.  
  19. //選択ソート関数
  20. void SelectionSort(int a[], int n){
  21. //ここを書き換える
  22. int i, j, mini;
  23. for(i = 0; i < n - 1; i++){
  24. mini = i;
  25. for(j = i ; j < n; j++){
  26. if(a[j] < a[mini]){
  27. mini = j;
  28. }
  29. }
  30. if(mini != i){
  31. swap(&a[i], &a[mini]);
  32. }
  33. }
  34. }
  35.  
  36.  
  37. int main(void){
  38. int n,i;
  39. int *v;
  40. scanf("%d",&n);
  41. v = (int*)malloc(sizeof(int)*n);
  42. if(v==NULL){
  43. printf("ERROR\n");
  44. return -1;
  45. }
  46. for(i=0;i<n;i++){
  47. scanf("%d",&v[i]);
  48. }
  49. SelectionSort(v,n);
  50. printA(v,n);
  51. free(v);
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0s 5304KB
stdin
108
86	14	64	14	46	76	30	23	45	38	66	16	46	29	16	66	85	96	35	49	37	25	1	51	73	6	72	87	82	31	94	9	73	32	80	7	23	33	47	29	98	54	32	22	76	12	42	92	16	18	73	37	3	6	63	34	29	59	57	51	83	73	67	15	67	65	6	1	56	97	82	46	10	99	22	74	3	53	32	36	13	15	87	22	76	95	45	43	76	79	48	41	58	17	89	83	18	33	8	41	37	59	13	96	25	84	36	85

stdout
1 1 3 3 6 6 6 7 8 9 10 12 13 13 14 14 15 15 16 16 16 17 18 18 22 22 22 23 23 25 25 29 29 29 30 31 32 32 32 33 33 34 35 36 36 37 37 37 38 41 41 42 43 45 45 46 46 46 47 48 49 51 51 53 54 56 57 58 59 59 63 64 65 66 66 67 67 72 73 73 73 73 74 76 76 76 76 79 80 82 82 83 83 84 85 85 86 87 87 89 92 94 95 96 96 97 98 99