㈠ 任意输出3个数字 按从小到大排序输出 c语言
思路:三个数从小到大排序可以求出三个数中的最大数和最小数,三个数的和减去最大数和最小数,差就是中间数,三个数的最值可以使用三目运算符。
参考代码:
#include<math.h>
#include<stdio.h>
int main()
{
float a,b,c,max,min;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("output 3 number = %.2f %.2f %.2f",min,a+b+c-min-max,max);
return 0;
}
/*
输出:
input 3 number:
12.5 98.6 0.56
output 3 number = 0.56 12.50 98.60
*/
㈡ 不要用if语句!!! C语言中三个数排序
//你好,一个简单且完整的代码如下:
#include<stdio.h>
int main()
{
int a = 1, b = 2, c = 3; //待排序的三个数
int max, mid , min; //用于存储最大数,中间数,最小数
max = c>(a>b?a:b)?c:(a>b?a:b); //问号表达式找出三个数中的最大值
min = c<(a<b?a:b)?c:(a<b?a:b); //问号表达式找出三个数中的最小值
mid = a + b + c - (max + min); //将三数相加减去最大数和最小数即得中间数
printf("%d %d %d\n", max, mid, min); //从大到小排
printf("%d %d %d\n", min, mid, max); //从小到大排
return 0;
}
㈢ c语言对3个数排序之后输出输入a,b,c输出排序后的结果
思路:三个数排序可以先求出最大值和最小值,最后把三个数相加减去最大值和最小值,差就是中间值。
参考代码:
#include<stdio.h>
intmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("%d%d%d",min,a+b+c-min-max,max);
return0;
}
/*
846
468
*/
㈣ 不要用if语句!!! C语言中三个数排序
//你好,一个简单且完整的代码如下:
#include<stdio.h>
int
main()
{
int
a
=
1,
b
=
2,
c
=
3;
//待排序的三个数
int
max,
mid
,
min;
//用于存储最大数,中间数,最小数
max
=
c>(a>b?a:b)?c:(a>b?a:b);
//问号表达式找出三个数中的最大值
min
=
c<(a<b?a:b)?c:(a<b?a:b);
//问号表达式找出三个数中的最小值
mid
=
a
+
b
+
c
-
(max
+
min);
//将三数相加减去最大数和最小数即得中间数
printf("%d
%d
%d\n",
max,
mid,
min);
//从大到小排
printf("%d
%d
%d\n",
min,
mid,
max);
//从小到大排
return
0;
}
㈤ 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);//输出
}
(5)三个数字排序c语言不用if扩展阅读:
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语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
具体操作方法如下:
#include<stdio.h>
int main(void)
{int a,b,c,t;
printf("请输入三个数");
scanf("%d%d%d",&a,&b,&c);
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;}
printf("从大到小:%d %d %d",a,b,c);
system("pause");
return 0;}
注意:中间的t=a;a=b;b=t,就是交换a和b的位置,总是把大的换到前面来。
(6)三个数字排序c语言不用if扩展阅读:
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("排序结果是: ");
for(i=0;i<=4;i++)
{ printf("%d ",a[i]);
}return 0;
㈦ 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语言中三个数排序
用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);/*输出从大到小排列的数*/
}
(8)三个数字排序c语言不用if扩展阅读
输入三个数,比较其大小,并从大到小输出。
#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);
}