为三个整数排序的最优算法
编写最优算法,从小到大依次输出顺序读入的三个整数。要求:
最佳情况:比较2次,无移动;
最差情况:比较3次,7次移动
#include <stdio.h> int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); if (a < b && b < c) // abc printf("%d %d %d\n", a, b, c); else if (a < c && c < b) // acb printf("%d %d %d\n", a, c, b); else if (b < a && a < c) // bac printf("%d %d %d\n", b, a, c); else if (b < c && c < a) // bca printf("%d %d %d\n", b, c, a); else if (c < a && a < b) // cab printf("%d %d %d\n", c, a, b); else // cba printf("%d %d %d\n", c, b, a); return 0; }
#include <stdio.h> int main(void) { int a=115; int b=525; int c=212; int max1=0,max2=0,max3=0; max1=(a>b?a:b)>c?(a>b?a:b):c; max3=(a<b?a:b)<c?(a<b?a:b):c; max2=(a==max1?b:a)==max3?c:(a==max1?b:a); printf("max1=%d max2=%d max3=%d \n",max1,max2,max3); return 0; }这算比较几次啊