在C语言中,对三个数进行从大到小的排序,可以按照以下步骤进行: 获取三个待排序的数: 使用scanf函数从用户那里获取三个整数。 比较这三个数,确定最大、次大和最小的数: 通过一系列的if语句比较这三个数,并确定它们的大小关系。 将最大的数放在第一个位置: 使用临时变量交换数值,确保最大的数位于第一个位置...
include<stdio.h>int sort(int *a,int *b,int *c){int d;if(*a>*b){d=*a;*a=*b;*b=d;}if(*a>*c){d=*a;*a=*c;*c=d;}if(*b>*c){d=*b;*b=*c;*c=d;}printf("这个三个数从小到大排列是:%d,%d,%d\n",a,b,c);}void main(){int a,b,c,*x,*y,*z;p...
include <stdio.h>int main(){int a,b,c;int tmp;scanf("%d%d%d",&a,&b,&c);if(a>b){tmp=a; a=b; b=tmp;}if(a>c){tmp=a; a=c; c=tmp;}if(b>c){tmp=b; b=c; c=tmp;}printf("升序为: %d %d %d\n",a,b,c);}示例运行结果:2 6 5 升序为: 2 5 6 6 9...
include <stdio.h>int main(void){ int a, b, c; printf("请输入三个数:"); scanf("%d%d%d", &a, &b, &c); if (a < b) { int c; c = a; a = b; b = c; } if(b < c) { int a; a = b; b = c; c = b...
include <stdio.h>int main (void){int a,b,c,max,min;scanf("%d %d %d",&a,&b,&c);max = a>b?a:b;min = amax ) max = c;if( c<min ) min = c;//这里用<printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min);return 0;} ...
首先,输入三个数,你的数组开才开了2,数组开小了!a[3]其次,scanf ("%d",&a[i]);这里要使用取地址符号才能进行输入 再次,你加的else ;这些语句都没有用,直接删除 include int main(){ int *p,a[3],temp,i;p=a;printf("请输入三个数字");for(i=0;i<=2;i++)scanf("%d",&...
int main(){ int t,a,b,c;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\n",c,b,a);return 0;} 原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,...
void swep(int *a,int *b,int *c){ int tmp;if(*a>*b){ tmp=*a;a=*b;b=tmp;} if(*a>*c){ tmp=*a;a=*c;c=tmp;} if(*b>*c){ tmp=*b;b=*c;c=tmp;} } void main(){ int a,b,c;scanf("%d%d%d",&a,&b,&c);swep(&a,&b,&c);printf("%4d%4d%4d",a,...
void swap(int *p1,int *p2){ int * tmp;tmp=*p1; //这儿你必须写上*,不写的话就是对这个参数进行的操作,最后不会改变*p1,*p2 的值。加上*号就是对参数的地址的操作,最后的结果就会保留下来。p1=*p2;p2=tmp;} void sort (int *p1,int *p2,int *p3){ if (*p1>*p2)swap(p1...
int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>=b&&a>=c) { &#...