#include<stdio.h> sort(int *a,int n) { int t; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } int main() { int i, j, n; int a[10]; for (i = 0; i < 10; i++) scanf("%d", &a[i]); sort(a, 10); for (i = 0; i < 10; i++) printf("%d\n", a[i]); }
6
付28 2022-11-30 08:48:46 |
#include<stdio.h> sort(int *a,int n) { int t; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } int main() { int i, j, n; int a[10]; for (i = 0; i < 10; i++) scanf("%d", &a[i]); sort(a, 10); for (i = 0; i < 10; i++) printf("%d ", a[i]); }
能问问哪里不对吗? #include<stdio.h> void swap(int *a , int *b)//交换数值函数 { int temp=*a; *a=*b; *b=temp; } void xuanze(int a[] , int n)//选择排序 { int i,j; int min; for(i = 0 ; i < n-1 ; i++){ min=i; for(j = i+1 ; j < n ; j++){ if(a[j] < a[min]){ min=j; } swap(&a[i] , &a[min]);//选择完进行交换 } } } int main() { int i; int a[10]; for(i = 0 ; i < 10 ; i++){ scanf("%d", &a[i]); } xuanze(a , 10); for(i = 0 ; i < 10 ; i++){ printf("%d\n", a[i]); } return 0; }
wdkrt 2022-12-01 11:30:19 |
在选择排序的函数里swap放在下下行就行,不应该在你那个位置就交换的
请问为什么是i<9?而不是10?
分糖果 (C++代码)浏览:933 |
人见人爱A+B (C语言代码)浏览:867 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:596 |
数列排序 (C语言代码)浏览:858 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1264 |
【金明的预算方案】 (C++代码)浏览:873 |
求圆的面积 (C语言代码)浏览:1756 |
Hello, world! (C语言代码)浏览:766 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |
大神老白 (C语言代码)浏览:637 |