用C语言编程:输入5个数,按从小到大顺序输出!?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-05-28
#include<stdio.h>
void main()
{
int a[5];
int i,j,t;
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<4;j++) //进行4次循环,实现4趟比较
for(i=0;i<4-j;i++) //在每一趟比较中进行4-1次比较
if(a[i]>a[i+1]) //相邻两个数比较
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("排序后的数据为:");
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
}程序结果为:原理是:

有不懂的可以问我:#include <stdio.h>int main ()
{
int a[5];
int i,j,temp;
printf("input 5 number:\n");
for(i=0;i<5;i++) scanf("%d",&a[i]);//获取输入的5个整数,分别放在数组成员a[0]到a[4]中
for(i=5;i>0;i--)//冒泡排序
for(j=0;j<i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("output:\n");
for(i=0;i<5;i++) printf("%d\n",a[i]);//从小到大顺序输出
return 0;
}

我用冒泡排序写一个吧#include<stdio.h>void main(){ int a[5];//定义数组放五个数据 for(int i=0;i<5;i++) { scanf("%d",&a[i]); } for(i=0;i<4;i++) { for(int j=i;j<5;j++) { int temp; if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(i=0;i<5;i++) { printf("%d\n",a[i]); }} 你自己在纸上画一下这个过程,会有深刻理解的。

#include
void sort(int Array[5]);
int main()
{
int i,j,temp;
int array[5];
for(i = 0;i<5;i++)//输入
{
scanf("%d",&array[i]);
}

for(i = 0 ;i<5;i++)// 排序主体
{
for(j = 5;j>i;j--)
{
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}

for(i = 0;i<5;i++)
{
printf("%5d ",array[i]);//输出
}

return 0 ;
}

我觉得,不用那昌泡法也可以做出来的

  • c语言编程键盘输入5个数 大到小排列输出
    答:二:如果纯粹是按逆序输出的话,即不判断它们的大小,倒着输出来 include void main(){ int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("%d d d\n",z,y,x);} 如果是多个数的话,要用到数组 如下:include define n 10 /*如果需要输入几个数字就把n改为几.这里以10为例*/ void ...
  • c语言 任意输入5个数从小到大排列 程序怎么写?
    答:{ int a[5]; /*保存5个数的数组*/ int i = 0 , j = 0; /*计数器*/ int m = 0 ; /*用于标识最小的那个数*/ int n; /*用于两个数的交换,中间值*/ /*从键盘接收5个数*/ for( i = 0 ; i < 5 ; i ++){ printf("请输入第%d个数", i + 1);scanf("%d"...
  • c语言:用一维数组 输入五个数 使他从小到大排序 ,然后再输入一个数...
    答:include <stdio.h>int main(){int a[10];int temp;printf("输入5个数:\n");for(int i=0;i<5;i++){ printf("第%d个数",i+1);scanf("%d",&a[i]);} for( i = 0;i<5;i++)for(int j = i+1;j<5;j++)if(a[i]>a[j])//降序只要改变这里的大于号就行了{temp = ...
  • C语言:输入5个数,用调用函数的方法,从小到大排序 用简单点的
    答:printf("请输入五个数(逗号隔开):");scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);sort(a,5);printf("排序后为:");for(i=0; i<5; i++)printf("%.2f ",a[i]);printf("\n");} 或者三个数的。void sort(int *a, int *b, int *c){ int tmp...
  • c语言输入5个整数,按从大到小顺序显示
    答:include <stdio.h>void main(){int arr[5];int temp;printf("请输入五个整数,用空格隔开:");for (int i=0;i<5;i++){scanf("%d",&arr[i]);}for (i=0;i<4;i++)//冒泡排序法{for (int j=0;j<4;j++){if (arr[j]>arr[j+1]){temp = arr[j];arr[j] = arr[j+1...
  • 选择法对5个数从小到大排序,c语言编程怎么写
    答:include<cstdio> include<iostream> using namespace std;int a[7];int main(){ for(int i=1;i<=5;i++)scanf("%d",&a[i]);for(int i=1;i<=4;++i)for(int j=i+1;j<=5;++j)if(a[i]>a[j]){ int t=a[i];a[i]=a[j];a[j]=t;} for(int i=1;i<=5;++i)pr...
  • c语言输入五个数字,再从屏幕上从小到大输出
    答:include<stdio.h>int main(){ int i,j,a[5]; for (i=0;i<5;i++) scanf("%d", &a[i]); for (i=0;i<4;i++) for(j=i+1;j<5;j++) if (a[i] > a[j]) { int k=a[i]; a[i]=a[j]; a[j]=k; } for (i=0;i<5;i...
  • C语言 输入5个数字,然后把它们从小到大输出,用逗号隔开。
    答:include <stdio.h>int main(void){ int i[5] = {0}; int j, k; for(j=0; j<5; j++) { printf("请输入第%d个数", j+1); scanf("%d", i+j); } for(j=0; j<4; j++) { for(k=0; k<4; k++) { if(i[k] > i[k+i]) ...
  • c语言编程:随机输入五个整数,利用选择排序法对输入的数进行从小到大排序...
    答:你的程序逻辑有些问题,输入,排序,输出分开做,这样更明确,更清晰,代码如下:include <stdio.h>#include <stdlib.h>int main(){int a[5];int i, j, t;int min;// 输入printf("input 5 numbers:\n");for (i = 0; i<5; i++)scanf("%d", &a[i]);// 选择排序for (i = 0...
  • C语言,输入5个整数求出最大数,从小到大排列,急求!!!
    答:给你个冒泡法排序的方法 代码如下 include <stdio.h> void main(){ int i,a[5];printf("请输入5个数:\n");for(i=0;i<5;i++)//用for循环输入5个数,初始化数组 scanf("%d",&a[i]);for(int n=0;n<4;n++)for(int m=n+1;m<5;m++)if(a[n]>a[m])//从小打到排,...