三种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。
最后更新于 2023-10-13 02:00:37 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章