㈠ 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函数,使用一个中间变量,对比两个数字的大小,并进行数值替换。
(1)c语言比较三个数大小升序输出扩展阅读:
使用 scanf("%d%d%d",&a,&b,&c); 从键盘中获得任意 3 个数。
在输入数据时,在两个数据之间以一个或多个空格间隔,也可以用 Enter 健、Tab 键,不能用逗号作为两个数据间的分隔符。
如果用格式输入函数 scanf("%d,%d,%d",&a,&b,&c) 输入数据,两个数据之间要用“,”做间隔。
㈡ C语言如何从键盘输入任意3个数,按从小到大的顺序输出
代码1.
//输入3个数,要求按从小到大顺序输出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("请输入三个数:");
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 ",a,b,c);
return0;
}
代码2.
输入3个字符串,按从小到大顺序输出。//先用程序对三个数进行从小到大排序,然后修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比较两个字符串的大小,为什么用前一句的时候会出现警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代码3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
㈢ c语言3个数比大小,顺序输出
main() //主函数
{float a,b,c,t; //声明部份,定义变量,浮点
printf("Enter a,b,c:"); //接收屏幕格式输入
scanf("%f,%f,%f",&a,&b,&c); //输入变量a、b、c的值
if(a<b){t=a;a=b;b=t;} //比较a和b的值,如果a<b,则a和b的值互换
if(a<c){t=a;a=c;c=t;} //比较a和c的值,如果a<c,则a和c的值互换
if(b<c){t=b;b=c;c=t;} //比较b和c的值,如果b<c,则b和c的值互换
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c); //输出a、b、c的值
}
======================================================
1、
本例程是输入3个数字,再按大到小排序
其中{}中的内容是这样的意思
当a<b时,则中间变量t=a,再将b的值赋给a,再将t的值赋给a
这样就完成了一个a和b的值互换。
2、
printf("%5.2f\n%5.2f\n%5.2f\n",a,b,c);
其中%5.2f 是指输入格式按_____.__输入出浮点格式的数。
12345.00
如:7输出的格式是____7.00
1234_.__
其中\n是回车符
㈣ 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);//输出
}
(4)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语言编程题,输入三个整数,按从大到小的顺序输出
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(){
int a,b,c,t;
printf("请输入三个整数: ");
scanf("%d,%d,%d",&a,&b,&c);
if(a<b){//完成a和b值的交换,a里面放最大值
t=a;
a=b;
b=t;
}
if(a<c){//完成a和c值的交换,a里面放最大值
t=a;
a=c;
c=t;
}
if(b<c){//完成b和c值的交换,a里面放最大值
t=b;
b=c;
c=t;
}
printf("%d %d %d ",a,b,c);
return 0;
}
运行结果:
(5)c语言比较三个数大小升序输出扩展阅读:
return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。
return语句用来结束循环,或返回一个函数的值。
1、return 0,说明程序正常退出,返回到主程序继续往下执行。
2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。
㈥ 用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(a>b)s=a,a=b,b=s;//比较a,b大小,通过赋值,使得a<b 。此语句目的:a<b
if(a>c)s=a,a=c,c=s;//进一步比较a,c大小,通过赋值得出最小值,并赋给a; 此语句目的:a<c
if(b>c)s=b,b=c,c=s;//最后比较出b,c中的较大值。
printf("从大到小的顺序依次是:%d%d%d",c,b,a);
return 0;
}
㈦ C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
不错的呦
看了你的我又编了个五个冒泡排序的测试通过啦哈哈
#include"stdio.h"
main()
{
float
a,b,c,d,e,t;
printf("\n\n\n
Please
input---a,b,c,d,e\n\n\n");
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
if(a<b)
{t=a,a=b,b=t;}
if(b<c)
{t=b,b=c,c=t;}
if(c<d)
{t=c,c=d,d=t;}
if(d<e)
{t=d,d=e,e=t;}
if(a<b)
{t=a,a=b,b=t;}
if(b<c)
{t=b,b=c,c=t;}
if(c<d)
{t=c,c=d,d=t;}
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("\n
%f>%f>%f>%f>%f\n",a,b,c,d,e);
printf("\n
Made
by
emls
^_^");
getch();
}