c语言输入任意5个实数,按照由大到小排序输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言输入任意5个实数,按照由大到小排序输出?相关的知识,希望对你有一定的参考价值。
用C语言实现如下功能:从键盘输入5个实数,可以使用冒泡排序法把他们降序输出。#include “stdio.h”
main()
int a[8];
int j,i;
for(i=0;i<5;i++)
printf(“请输入第%d个数:\n”,i+1);
scanf(“%d”,&a[i]);
for(i=0;i<;j++)
for(i=0;i<5–j;i++)
if(a[i]>a[i+1])
a[i+1]=a[i];
for(i=0;i<5;i++)
printf("\n排序后的结果是:%d\n",a[i]);
return 0;
追答
#include “stdio.h”
main()
double a[8];
int i,j;
double t;
for(i=0;i<5;i++)
printf(“请输入第%d个数:\n”,i+1);
scanf(“%f”,&a[i]);
for(i=1;i<5;i++)
for(j=0;j<10–i;j++)
if(a[j]<a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
for(i=0;i<5;i++)
printf("\n排序后的结果是:%d\n",a[i]);
return 0;
刚刚那个程序没改好,用这个,如果有不懂,可以追问
参考技术A 用C语言实现如下功能:从键盘输入5个实数,可以使用冒泡排序法把他们降序输出。#include “stdio.h”
main()
int a[8];
int j,i;
for(i=0;i<5;i++)
printf(“请输入第%d个数:\n”,i+1);
scanf(“%d”,&a[i]);
for(i=0;i<;j++)
for(i=0;i<5–j;i++)
if(a[i]>a[i+1])
a[i+1]=a[i];
for(i=0;i<5;i++)
printf("\n排序后的结果是:%d\n",a[i]);
return 0;
C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
参考技术A 不错的呦看了你的我又编了个五个冒泡排序的测试通过啦哈哈
#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();
参考技术B #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的位置,总是把大的换到前面来。
三个数就是这样,要是推广到n个数,就是冒泡排序,啦,你可以看一下:
http://baike.baidu.com/view/254413.htm 参考技术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函数,使用一个中间变量,对比两个数字的大小,并进行数值替换。
三、创建主函数,接收输入的三个数字,通过第一步定义的Swap函数分别进行比较。
四、运行结果:
扩展资料:
使用
scanf("%d%d%d",&a,&b,&c);
从键盘中获得任意
3
个数。
在输入数据时,在两个数据之间以一个或多个空格间隔,也可以用
Enter
健、Tab
键,不能用逗号作为两个数据间的分隔符。
如果用格式输入函数
scanf("%d,%d,%d",&a,&b,&c)
输入数据,两个数据之间要用“,”做间隔。
以上是关于c语言输入任意5个实数,按照由大到小排序输出?的主要内容,如果未能解决你的问题,请参考以下文章