⑴ c语言编写程序,任意三个数,由大小到排序,源代码如何写!
思路:任意三个数按从大到小顺序输出,可以先求出三个数中的最大值和最小值,三个数的和减去最大值和最小值的差就是中间数,接着依次输出。
参考代码:
#include"stdio.h"
intmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max)max=c;
if(min>c)min=c;
printf("从大到小排序:%d%d%d ",max,a+b+c-max-min,min);
}
/*
运行结果:
213
从大到小排序:321
*/
⑵ C语言中要把三个数从大到小排列出来应该怎么编
初学简单版本代码如下:
#include<stdio.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 " , a, b, c);//输出
}
(2)简单三位数排序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 ", number[i]);
}
}
2、选择排序
#include<stdio.h>
void main()//主函数
{
int a[10];
int i,j,w;
printf("请输入10个数字: ");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
if(a[i]<a[j])//进行比较
//比较后进行交换
{
w=a[i];
a[i]=a[j];
a[j]=w;
}
⑶ 三位数排列的C语言程序
c-free下编译通过,已优化!
#include
"stdio.h"
void
fun(int
m)
{
int
i,j=0;
for(i=2;i<=m;i++)
{
while(m%i==0)
{
j++;
if(j==1)
printf("握塌=%d",i);
else
printf("*%d",i);
m=m/i;
}
}
}
int
main()
{
int
i,j,k,t,num[4],s[100],temp;
printf("按陆皮迟从大到小顺序输入早李4个不同的整数(1~9):\n");
scanf("%d%d%d%d",&num[0],&num[1],&num[2],&num[3]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
for
(k=0;k<4;k++)
{
if
(num[i]!=num[k]&&num[i]!=num[j]&&num[j]!=num[k])
{
printf("%d%d%d",num[i],num[j],num[k]);
temp=100*num[i]+10*num[j]+num[k];
fun(temp);
printf("\n");
}
}
}
⑷ C语言中 怎么对任意三个整数排序(从小到大)
#include
<stdio.h>
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;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
⑸ C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
一、思路过程:
(1)定义数据类型,本实例中 a、b、c、t 均为基本整型。
(2) 使用输入函数获得任意 3 个值赋给 a、b、c。
(3) 使用 if 语句进行条件判断,如果 a 大于 b,则借助于中间变量 t 互换 a 与 b 值, 依此类推比较 a 与 c、b 与 c,最终结果即为 a、b、c 的升序排列。
(4) 使用输出函数将 a、b、c 的值依次输出。
二、定义一个Swap函数,使用一个中间变量,对比两个数字的大小,并进行数值替换。
(5)简单三位数排序c语言扩展阅读:
使用 scanf("%d%d%d",&a,&b,&c); 从键盘中获得任意 3 个数。
在输入数据时,在两个数据之间以一个或多个空格间隔,也可以用 Enter 健、Tab 键,不能用逗号作为两个数据间的分隔符。
如果用格式输入函数 scanf("%d,%d,%d",&a,&b,&c) 输入数据,两个数据之间要用“,”做间隔。
⑹ C语言中怎么把三个整数从小到大排列
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
方法如下:
分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
1.从控制台读入三个数;
2.实现三个数从小到大排序:
(1)将第一个数作为最小数,依次和第二,三个数进行比较。两次比较重如果有任意一个比第一个小,则将两个数交换
;
(2)在(1)步后,得到第一个数为最小数。再将第二个数与第三个数比较大小后即可实现三个数从小到大排序。
拓展资料
两种常用排序方法:
1.选择排序法:从一列数中,选择第一个作为最小数,依次和后面的数进行比较。如有比第一个数小的数,则交换两个数。最后排到该列数都倒数第二个时,这列数就从小到大排好了顺序。
2.冒泡排序法:思路与选择排序法一致。不同的是,冒泡排序将第一个作为最大数,然后再和该数后的数进行比较。
⑺ c语言实现三个数从小到大排列
两个数的排序,只需要比较一下,如果第一个比第二个大,交换一下,否则什么都不用做。
三个数的排序纤芹
,可以先将前两个排序,保证第一个比毁渣毕第二个小。
然后将第二个和第三个数排序,保证第二个比第三个小。
经过上面两次排序,保证了第三个是最大的,但梁宴不能保证第二个还比第一个大,因为第二次排序的时候可能改变了第二个数。因此,还要再将前两个数进行排序。最终保证了三个整数从小到大排列。
⑻ 用C语言对三个数从大到小排序
最小用min 不要用main. 这个是主函数名没让帆 不能和变枯雹滑大量重复的.
#include<stdio.h>
intmain(void)
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max)max=c;
if(c<min)min=c;//这里用<
printf("从大到小排序:%d%d%d ",max,a+b+c-max-min,min);
return0;
}
⑼ C语言中三个数排序
用C语言编写通过if将3个数排序:
#include<stdio.h>/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
inta,b,c,t;/*定义变量的数据类型为整型*/
printf("输入3个数,中间用空格隔开:");/*输出文字提示*/
scanf("%d%d%d",&a,&b,&c);/*输入3个数字*/
if(a<b)/*判断a是否小于b*/
{t=a;a=b;b=t;}/*是,则a、b的值互换*/
if(a<c)/*判断a是否小于c*/
{t=a;a=c;c=t;}/*是,则a、c的值互换*/
if(b<c)/*判断b是否小于c*/
{t=b;b=c;c=t;}/*是,则b、c的值互换*/
printf("从小到大:%d,%d,%d ",c,b,a);/*输出从小到大排列的数*/
printf("从大到小:%d,%d,%d ",a,b,c);/*输出从大到小排列的数*/
}
(9)简单三位数排序c语言扩展阅读
输入三个数,比较其大小,并从大到小输出。
#include<stdio.h>
int main(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b){
intflag=a;
a=b;
b=flag;
}
if(a<c){
intflag=a;
a=c;
c=flag;
}
if(b<c){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}
⑽ 求C语言三位数的排序,和求出一个最大的数
#include<stdio.h>升丛仿
void main(){
int num[3],temp,i,i;
for(i=0;i<3;i++){
printf("请输入第%d个数:郑岩",(i+1));
scanf("%d",&num[i]);
}
for(i=0;i<3;i++){
for(j=0;j<吵纤2-i;j++){
if(num{j}<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("这三个数最大的是:%d\n",num[0]);
}