#include<stdio.h>void main(){ char a[3]; int i; scanf("%c %c %c",&a[0],&a[1],&a[2]); for(i=0;i<2;i++) if (a[i]>a[i+1]){ int temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } for(i=0;i<3;i++) printf("%d ",a[i]);}输出结果不对呀
#include<stdio.h>void main(){ char a[3]; int i,j; scanf("%c %c %c",&a[0],&a[1],&a[2]); for(i=0;i<3;i++){ for(j=i;j<3;j++) { if (a[i]<a[j]) { char temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(i=0;i<3;i++) printf("%d ",a[i]);}用冒泡法来做。如果你只有三个输入的话,完全没必要用这么复杂的for循环,直接用三个char类型的变量,来比较久OK了
#include<stdio.h>void main(){ char a[3]; int i; scanf("%c %c %c",&a[0],&a[1],&a[2]); for(i=0;i<2;i++) if (a[i]<a[i+1]){ //改为小于号 int temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } for(i=0;i<3;i++) printf("%c ",a[i]);}
#include<stdio.h>voidmain(){chara[3];inti,j;scanf("%c%c%c",&a[0],&a[1],&a[2]);for(i=0;i<3;i++){for(j=i;j<3;j++){if(a[i]<a[j]){chartemp=a[i];a[i]=a[j];a[j]=temp;}}}for(i=0;i<3;i++)printf("%d",a[i]);}用冒泡法来做。如果你只有三个输入的话,完全没必要用这么复杂的for循环,直接用三个char类型的变量,来比较久OK了