解题思路:
1 特殊方法,仅限于少量数字的排序。任意取三个数字中的两个数字,如果两个数字中较大的在前面,那么调换这两个数字的位子。因为只有三个数字,所以最多需要调换ab ac bc三次位置,即可实现数字从小到大输出。
2 冒泡排序法。第一个位置的与第二个位置数字比较大小,如果位置1的数字大于位置2的数字,则调换两个位子的数字。同理,此时位子2的数字与位置3的数字比较,如果位置2大于位置3的数字,则调换两个数字的位置。
参考代码:
思路一
#include<stdio.h> int main() { int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%d %d %d ",a,b,c); return 0; }
思路二
#include<stdio.h> int main() { int a[3]; int i,j,t; scanf("%d %d %d",&a[0],&a[1],&a[2]); for(j=0;j<2;j++) { for(i=0;i<2-j;i++) { if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } } printf("%d %d %d",a[0],a[1],a[2]); return 0; }
0.0分
5 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:741 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:766 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:703 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:580 |
C语言训练-自由落体问题 (C语言代码)浏览:1775 |
输出正反三角形 (C语言代码)浏览:859 |
简单的a+b (C语言代码)浏览:385 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
WU-小九九 (C++代码)浏览:1713 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:565 |