三种C语言

方法一:用三个变量存储三个数,按降序排列:

int a,b,c,tmp

Printf("请输入3个数字:");

scanf("%d%d%d ",a,b,c);

If(ab)//如果A小于B,则交换A和B的值,这样A可以容纳一个大数。

{

tmp = a;

a = b;

b = tmp

}

If(ac)//如果A小于C,则交换A和C的值,使A容纳一个大数。

{

tmp = a;

a = c;

c = tmp

}

If(bc)//如果B小于C,交换B和C的值,使B容纳一个大数。

{

tmp = b;

b = c;

c = tmp

}

Printf("降序排列:%d,%d,%d\n ",a,b,c);

方法二:三个变量存储在一个数组中,用冒泡排序法排序。

Int I = 0,J = 0,TMP = 0。一个C语言中三个数从大到小怎么排列? 初学者的简单版本代码如下:

# includestdio.h

int main()

{

int a,b,c;//定义三个数字的变量。

int t;//为交换定义变量。

scanf ( "%d%d%d ",a,b,c);//值

如果(a b)

{ t = a;a = b;b = t;};//如果a,b,交换,反之亦然。

如果(交流)

{ t = a;a = c;c = t;};//同上

如果(公元前)

{ t = b;b = c;c = t;};

printf(" %-5d %-5d \ n ",a,b,c);//输出

}

扩展数据:

c语言中其他多个数的排序方法:

1、气泡分选法

#包含stdio.h

#定义尺寸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 n3];

printf("请输入3个数字:");

for(i=0;i3;i )

scanf("%d",a[i]);

for(i=0;i2;i )

for(j=0;j2-i;j )

if(a[i]a[i 1])//按照从大到小排列

{

tmp=a[i];

a[i]=a[i 1];

a[i 1]=tmp;

}

printf("按照从大到小的顺序为:");

for(i=0;i3;i )

printf("%d  ",a[i]);

printf("\n");

-[j;我)

{

如果(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(数量,大小);

for(I = 0;I尺寸;我)

{

printf("%d\n ",数字[I]);

}

}

2.选择排序

# includestdio.h

Void main()//主函数

{

int a[10];

int i,j,w;

Printf("请输入10位数字:\ n ");

for(I = 0;i10我)

scanf("%d ",a[I]);

for(I = 0;i10我)

{

for(j = I ^ 1;j10j)

If(a[i]a[j])//

//比较后交换。

{

w = a[I];

a[I]= a[j];

a[j]= w;

}

c语言的三种排序方法 每次都让最大的一个射到最后,然后形成从右到左依次递减的阵列。

第一个for循环:

控制总遍历次数

开始每次遍历

每次找到一个最大数,就沉到底。

第二个for循环刚好j-1次(因为最后一个没有比较)

//让j和j 1的值进行比较。

当后一个数较大时,中间有一个temp转移,让num[j]和num[j 1]交换值,然后返回第二个for循环继续比较。

第一个for循环从外部控制循环次数。

你需要循环n-1次(n是数组总数)。

第一个if在for循环中运行。

判断I和i 1的大小

如果I大于i 1,则改变位置

使最大数量下沉。

设I对应的值和前面所有的值进行比较来排序J和j-1进行比较。

如果确定后的当前位置是该数字应该排列的位置

控制时间

取出I对应的数字,默认I是第一个数字。

从I的后面开始,找到当前最小的数,放在I的位置进行内循环。

让temp与每个后续数字进行比较。

Temp总是保持最小数量。

如果有更小的,切换到temp进行判断。

C语言中三个数的排序 用C语言对3个数进行if排序;

# includesdio.h/*函数头:I/O头文件*/

Void main()/*空类型: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);

如果(ab){

int flag = a;

a = b;

b =旗帜;

}

如果(ac){

int flag = a;

a = c;

c =旗帜;

}

如果(公元前){

int flag = b;

b = c;

c =旗帜;

}

printf("%d%d%d ",a,b,c);

}

C语言中三个数如何排序 #包含stdio.h

int main()

{

int a,b,c;

int tmp

scanf("%d%d%d ",a,b,c);

如果(ab)

{ tmp = a;a = b;b = tmp}

中频(交流)

{ tmp = a;a = c;c = tmp}

如果(公元前)

{ tmp = b;b = c;c = tmp}

Printf("升序:%d %d %d\n ",a,b,c);

}

运行结果示例:

2 6 5

升序是:2 5 6

6 9 3

升序是:3 6 9

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。

相关文章

发表新评论