标签:width info 技术 hang class 方法 元素 lib include
问题:给定6个数,按从大到小的顺序输出
解决方法:
1、冒泡排序
代码:
#include <stdio.h> #include <stdlib.h> const int n = 6; void main() { int i,temp,change,j,a[n]; //输入 for(i = 0;i < n;i++) { printf("请输入a[%d]:",i); scanf("%d",&a[i]); } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); //从大到小排序 for(i = 1;i < n ;i++) { change = 0; for(j = 0;j < n - i;j++) // 从前向后比较 { if(a[j] < a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; change = 1; } } if(change = 0) { break; } } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); }
#include <stdio.h> #include <stdlib.h> const int n = 6; void main() { int i,temp,change,j,a[n]; //输入 for(i = 0;i < n;i++) { printf("请输入a[%d]:",i); scanf("%d",&a[i]); } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); //从大到小排序 for(i = 0;i < n - 1;i++) // n-1趟 { change = 0; for(j = n - 1;j > i;j--) // 从后向前比较 n-i 次 { if(a[j] > a[j - 1]) { temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; change = 1; } } if(change = 0) { break; } } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); }
2、??排序
#include <stdio.h> #include <stdlib.h> const int n = 6; void main() { int i,temp,change,j,a[n]; //输入 for(i = 0;i < n;i++) { printf("请输入a[%d]:",i); scanf("%d",&a[i]); } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); //从大到小排序 for(i = 0;i < n - 1;i++) // n-1趟 { change = 0; for(j = i + 1;j < n;j++) // 从开头起 逐元素比较 { if(a[i] < a[j]) { temp = a[j]; a[j] = a[i]; a[i] = temp; change = 1; } } if(change = 0) { break; } } //输出 for(i = 0;i < n;i++) { printf("%d\t",a[i]); } printf("\n"); }
标签:width info 技术 hang class 方法 元素 lib include
原文地址:https://www.cnblogs.com/pam-sh/p/12436706.html