任意输入十个数,按从小到大的顺序排列这十个数并输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任意输入十个数,按从小到大的顺序排列这十个数并输出相关的知识,希望对你有一定的参考价值。

你是用什么程序做啊,我这里用C程序做的这个编程。注意的是我这里输入的是十个整数,如果输入其他类型的值整型格式要相应修改。如下:#include<stidio.h>void main() int i, j, min, temp, a[11]; printf (" enter data :\ n"); for ( i=1 ; i<= 10; i++) printf ("a[%d]=", i);</p><p> scanf("%d", &a[i]); /*输入10个数*/</p><p> printf("\n"); printf("The orginal numbers:\ n"); for (i =1;i<=10;i++) printf("%5d",a[i]); / *输出这10个数*/ printf("\n"); for (i=1;i<=9;i++) /*以下8行是对10个数排序* min=i;</p><p> for (j=i+1;j<=10;j++)</p><p> if (a[min]>a[j]) min=j;</p><p> temp=a[i]; /*以下3行将a[i+1] ~ a[10]中最小者与 a[i] 对换*/</p><p> a[i]=a[min];</p><p> a[min]=temp;</p><p> printf ("\n The sorted numbers:\n"); for (i=i; i<=10; i++) /*输出已排好序的10个数*/ printf ("%5d", a[i]); printf("\n");运行结果:enter data:a[1]=6↙a[2]=90↙a[3]=45↙a[4]=56↙a[5]=1↙a[6]=15↙a[7]=44↙a[8]=78↙a[9]=58↙a[10]=101↙The oringal numbers:6 90 45 56 1 15 44 78 58 101 The sorted numbers:1 2 15 44 45 46 58 78 90 101你在程序里随便输入数字再运行看看结果。好好的琢磨琢磨这里的数组设置和选择排序,注意理解原理,这类问题都能掌握的!祝你进步! 参考技术A main()

int s[4],i,j,a;
printf("请输入4个整数(各数之间用空格隔开):");
for(i=0;i<4;i++)

scanf("%d",&s[i]);

for(i=0;i<4;i++)

for(j=i;j<4;j++)

if(s[j]<s[i])

a=s[j];
s[j]=s[i];
s[i]=a;



printf("\n");
for(i=0;i<4;i++)

printf("%d ",s[i]);

参考技术B 在网上查找冒泡排序,有源码。

next_permutation函数(全排列)

题目描述:有一个数n(1<n<10),写出1到n的全排列。

输入:第一行输入一个数n(0<n<10),表示有n组测试数据。后面的n行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)

输出按特定顺序输出所有组合。
特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。

输入:

2
2
3

输出:

12
21
123
132
213
231
312
321
#include<iostream>
#include<algorithm>
using namespace std;
int a[15];
int main()
{
    int n,x,i;
    cin>>n;
    ++n;
    while(--n)
    {
        cin>>x;
        for(i=0; i<x;++i)
            a[i]=i+1;
        for(i=0; i<x;++i)
            cout<<a[i];
        cout<<endl;
        while(next_permutation(a,a+x)==1)
        {
            for(i=0; i<x;i++)
                cout<<a[i];
            cout<<endl;
        }
    }
    return 0;
}

函数next_permutation()是按照字典序产生排列的,并且是从数组中当前的字典序开始依次增大直至到最大字典序。

next_permutation(),可以遍历全排列,要包含头文件<algorithm>

与之完全相反的函数还有prev_permutation

基本格式:

int a[];
while(next_permutation(a,a+n))
{
}

 

以上是关于任意输入十个数,按从小到大的顺序排列这十个数并输出的主要内容,如果未能解决你的问题,请参考以下文章

c++程序设计,输入4个整数按从小到大顺序输出

利用Java语言,实现数组的排序

输入3个整数,按从小到大的顺序输出(用指针处理)

输入3个整数,按从小到大的顺序输出(用指针处理)

写一个函数,使N个整数按由小到大的顺序排列,要求在主函数中输入10个数,并输出排好序的数

C语言如何从键盘输入任意3个数,按从小到大的顺序输出?