扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
初学简单版本代码如下:
成都创新互联公司是专业的滦平网站建设公司,滦平接单;提供成都网站制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行滦平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
#includestdio.h
int main( )
{
int a, b, c;//定义三个数的变量
int t ;//定义作为交换的变量
scanf ( "%d%d%d" , a, b, c ) ; //取值
if ( a b )
{t = a; a = b; b = t ;};//如果a,b,进行交换,反之不动
if ( a c )
{t = a; a = c; c = t ;};//同上
if ( b c )
{t = b; b = c; c = t ;};
printf( "%-5d%-5d%-5d\n" , a, b, c);//输出
}
扩展资料:
C语言中其他多个数排序的方法:
1、冒泡排序法
#include stdio.h
#define SIZE 8
void bubble_sort(int a[], int n);
void bubble_sort(int a[], int n)
{
int i, j, temp;
for (j = 0; j n - 1; j++)
for (i = 0; i n - 1 - j; i++)
{
if(a[i] a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
} } }
int main()
{
int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
int i;
bubble_sort(number, SIZE);
for (i = 0; i SIZE; i++)
{
printf("%d\n", number[i]);
}
}
2、选择排序
#includestdio.h
void main()//主函数
{
int a[10];
int i,j,w;
printf("请输入10个数字: \n");
for(i=0;i10;i++)
scanf("%d",a[i]);
for(i=0;i10;i++)
{
for(j=i+1;j10;j++)
if(a[i]a[j])//进行比较
//比较后进行交换
{
w=a[i];
a[i]=a[j];
a[j]=w;
}
一:全局变量
#include stdio.h
int a,b,c; //定义三个全局变量
void sort() //不需要参数
{
int t;
if(ab)
{
t=a;a=b;b=t;
}
if(bc)
{
t=b;b=c;c=t;
}
if(ab)
{
t=a;a=b;b=t;
}
}
int main()
{
printf("输入:");
scanf("%d%d%d",a,b,c);
sort();
printf("排序:%d %d %d\n",a,b,c);
return 0;
}
二:指针
#include stdio.h
void sort(int *a, int *b, int *c) //参数传递方式:地址传递
{
int t;
if(*a*b)
{
t=*a;*a=*b;*b=t;
}
if(*b*c)
{
t=*b;*b=*c;*c=t;
}
if(*a*b)
{
t=*a;*a=*b;*b=t;
}
}
int main()
{
int a,b,c;
printf("输入:");
scanf("%d%d%d",a,b,c);
sort(a,b,c); //把地址作为参数
printf("排序:%d %d %d\n",a,b,c);
return 0;
}
具体操作方法如下:
#includestdio.h
int main(void)
{int a,b,c,t;
printf("请输入三个数");
scanf("%d%d%d",a,b,c);
if(ab)
{t=a;a=b;b=t;}
if(bc)
{t=b;b=c;c=t;}
if(ab)
{t=a;a=b,b=t;}
printf("从大到小:%d %d %d",a,b,c);
system("pause");
return 0;}
注意:中间的t=a;a=b;b=t,就是交换a和b的位置,总是把大的换到前面来。
扩展资料:
c语言任意输入5个数,并按从大到小顺序输出的方法如下:
#include stdio.h
#include stdlib.h
int main()
{int a[5];
int i,j,k;
for(i=0;i=4;i++)
{scanf("%d",a[i]);}
for(i=0;i=4;i++){
for(j=0;j=4;j++)
{if(a[i]a[j])
{k=a[i]; a[i]=a[j]; a[j]=k;}}}
printf("排序结果是:\n");
for(i=0;i=4;i++)
{ printf("%d\t",a[i]);
}return 0;
两个数的排序,只需要比较一下,如果第一个比第二个大,交换一下,否则什么都不用做。
三个数的排序 ,可以先将前两个排序,保证第一个比第二个小。
然后将第二个和第三个数排序,保证第二个比第三个小。
经过上面两次排序,保证了第三个是最大的,但不能保证第二个还比第一个大,因为第二次排序的时候可能改变了第二个数。因此,还要再将前两个数进行排序。最终保证了三个整数从小到大排列。
用C语言编写通过if将3个数排序:
#includestdio.h/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
inta,b,c,t;/*定义变量的数据类型为整型*/
printf("输入3个数,中间用空格隔开:");/*输出文字提示*/
scanf("%d%d%d",a,b,c);/*输入3个数字*/
if(ab)/*判断a是否小于b*/
{t=a;a=b;b=t;}/*是,则a、b的值互换*/
if(ac)/*判断a是否小于c*/
{t=a;a=c;c=t;}/*是,则a、c的值互换*/
if(bc)/*判断b是否小于c*/
{t=b;b=c;c=t;}/*是,则b、c的值互换*/
printf("从小到大:%d,%d,%d\n",c,b,a);/*输出从小到大排列的数*/
printf("从大到小:%d,%d,%d\n",a,b,c);/*输出从大到小排列的数*/
}
扩展资料
输入三个数,比较其大小,并从大到小输出。
#includestdio.h
int main(){
inta,b,c;
scanf("%d%d%d",a,b,c);
if(ab){
intflag=a;
a=b;
b=flag;
}
if(ac){
intflag=a;
a=c;
c=flag;
}
if(bc){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流