本文目录一览:
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语言中三个数排序
用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语言比较三个数的大小,并按照从大到小排序
#include stdio.h
#include math.h
int main(void)
{
int a,b,c;
printf("请输入任意三个整数a,b,c:");
scanf("%d%d%d",a,b,c);
int s;
if(ab)s=a,a=b,b=s;//比较a,b大小,通过赋值,使得ab 。此语句目的:ab
if(ac)s=a,a=c,c=s;//进一步比较a,c大小,通过赋值得出最小值,并赋给a; 此语句目的:ac
if(bc)s=b,b=c,c=s;//最后比较出b,c中的较大值。
printf("从大到小的顺序依次是:%d%d%d",c,b,a);
return 0;
}
用C语言对三个数从大到小排序
最小用min 不要用main. 这个是主函数名 不能和变量重复的.
# include stdio.h
int main (void)
{
int a,b,c,max,min;
scanf("%d %d %d",a,b,c);
max = ab?a:b;
min = ab?a:b;
if( cmax ) max = c;
if( cmin ) min = c;//这里用
printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
return 0;
}