三个数进行排序
#include <stdio.h> int main() { float a, b, c; scanf("%f %f %f",&a,&b,&c); float ; if(a>b) { if(b>c) { } else { if(a>c) else } } else { if(a>c) else { if(b>c) } } return 0; }
六种情况都列举出来,但不知如何表示出来
#include <stdio.h> int main() { float a, b, c; scanf("%f %f %f",&a,&b,&c); float t,s; if(a>b) { if(b>c) { ; //a,b,c } else //a,b c,b { if(a>c) //a,c,b { t=c; c=b; b=t; } else //c,a,b { t=a; a=c; c=t; s=c; c=b; b=s; } } } else { if(a>c) //b,a,c { t=a; a=b; b=t; } else //b,a c,a { if(b>c) { t=a; //b,c,a a=b; b=t; s=b; b=c; c=s; } else { //c,b,a t=a; a=c; c=t; } } } printf("%f %f %f",a,b,c); return 0; }
最后结果表示有些问题
简化版本
使用如上法, 输出a,b,c, 互相通过比较大小交换值
#include <stdio.h> int main() { double a, b, c; scanf("%lf %lf %lf",&a,&b,&c); double temp; if(a<b) { temp = a; a = b; b = temp; } if(a<c) { temp = a; a = c; c = temp; } if(b<c) { temp = b; b = c; c = temp; } printf("%.2lf %.2lf %.2lf",a,b,c); return 0; }