今天给各位分享c语言对三个数字排序的知识,其中也会对三数排序C语言进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言中要把三个数从大到小排列出来应该怎么编?2、c语言编辑程序,任意输入3个数,按从大到小的顺序输入3、用C语言将3个数排序~4、c语言实现三个数从小到大排列5、C语言中怎么把三个整数从小到大排列6、C语言中三个数排序
C语言中要把三个数从大到小排列出来应该怎么编?
初学简单版本代码如下:
#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;
}
c语言编辑程序,任意输入3个数,按从大到小的顺序输入
思路:三个数按从大到小顺序输出,可以先求出三个数中的最大值和最小值,三个数的和减去最大值和最小值的差就是中间数,接着依次输出即可。
参考代码:
#include “stdio.h”
int main()
{
int a,b,c,max,min;
scanf(“%d%d%d”,a,b,c);
if(ab){
max=a;
min=b;
}
if(cmax) max=c;
if(minc) min=c;
printf(“从大到小排序:%d %d %d\n”,max,a+b+c-max-min,min);
}
/*
运行结果:
3 1 2
从大到小排序:3 2 1
*/
用C语言将3个数排序~
scanf(“%d,%d,%d”,a,b,c);与请输入三个数a,b,c:3 4 5
这两句写错了,你看看scanf()函数怎么用。
你可以改成:
scanf(“%d%d%d”,a,b,c);然后输入 :3 4 5
或者不改scanf(“%d,%d,%d”,a,b,c); 输入改成: 3,4,5
c语言实现三个数从小到大排列
两个数的排序,只需要比较一下,如果第一个比第二个大,交换一下,否则什么都不用做。
三个数的排序 ,可以先将前两个排序,保证第一个比第二个小。
然后将第二个和第三个数排序,保证第二个比第三个小。
经过上面两次排序,保证了第三个是最大的,但不能保证第二个还比第一个大,因为第二次排序的时候可能改变了第二个数。因此,还要再将前两个数进行排序。最终保证了三个整数从小到大排列。
C语言中怎么把三个整数从小到大排列
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
方法如下:
分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,
然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。
1.从控制台读入三个数;
2.实现三个数从小到大排序:
(1)将第一个数作为最小数,依次和第二,三个数进行比较。两次比较重如果有任意一个比第一个小,则将两个数交换
;
(2)在(1)步后,得到第一个数为最小数。再将第二个数与第三个数比较大小后即可实现三个数从小到大排序。
拓展资料
两种常用排序方法:
1.选择排序法:从一列数中,选择第一个作为最小数,依次和后面的数进行比较。如有比第一个数小的数,则交换两个数。最后排到该列数都倒数第二个时,这列数就从小到大排好了顺序。
2.冒泡排序法:思路与选择排序法一致。不同的是,冒泡排序将第一个作为最大数,然后再和该数后的数进行比较。
C语言中三个数排序
用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);
}
关于c语言对三个数字排序和三数排序C语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。