c语言编程: 将一组数按从大到小的顺序排序

c语言编程: 将一组数按从大到小的顺序排序,第1张

#include <stdioh>

main()

{

int x;

printf("请输入要排序数字个数:");

scanf("%d",&x);

int i,j,k,a,b,num[x];

printf("输入数据:");

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

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

for(j=0;j<x;j++)

{

for(k=j+1;k<x;k++)

if(num[k]>num[j])

{

a=num[j];

num[j]=num[k];

num[k]=a;

}

}

for(b=0;b<x;b++)

printf("%d ",num[b]);

return 0;

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include&lt;mathh&gt;//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。

#include<iostream>

using namespace std;

int main()

{

int i,n,a[100];

cin>>n;//要输入的个数

for(i=0;i<n;i++)//输入n个数

cin>>a[i];

for(i=0;i<n;i++)//每5个一行输出

{

cout<<a[i];

if((i+1)%5==0)

cout<<endl;

else

cout<<" ";

}

return 0;

}

不知道你是要一次性全部输出,还是一次只需要输出其中一个数,下面2种方法都有:

1 全部随机输出

#include <timeh>

#include <iostream>

using namespace std;

#define ARRAYLENGTH 54

void PrintArrary( int piArray, int iLen )

{

int iRes = 0;

int iRand = 0;

int iPos[ARRAYLENGTH] = {0};

memset(iPos, -1, 10sizeof(int));// 全部置为-1,以便下面进行比较

bool bExist = false;

srand( (unsigned)time( NULL ));

for ( int i = 0; i < ARRAYLENGTH; i ++ )

{

bExist = false;

iRand = rand();

iRes = iRand % iLen;

for ( int j = 0; j < ARRAYLENGTH; j ++ )

{

if ( iRes == iPos[j] )

{

bExist = true;

break;

}

}

if ( !bExist )

{

iPos[i] = iRes;

}

else

{

-- i;

}

}

for ( int k = 0; k < ARRAYLENGTH; k ++ )

{

printf("%d ", piArray[iPos[k]] );

}

}

// 测试程序

void main()

{

int iArrar[ARRAYLENGTH];

for ( int i = 0; i < ARRAYLENGTH; i ++ )

{

iArrar[i] = i + 1;

}

PrintArrary( iArrar, ARRAYLENGTH );

}

2 一次只随机输出其中的一个数:

#include <timeh>

#include <iostream>

using namespace std;

#define ARRAYLENGTH 54

void PrintArrary(int piArray, int iLen )

{

int iRes = 0;

int iRand = 0;

srand( (unsigned)time( NULL ));

iRand = rand();

iRes = iRand % iLen;

printf("%d ", piArray[iRes] );

}

// 测试程序

void main()

{

int iArrar[ARRAYLENGTH];

for ( int i = 0; i < ARRAYLENGTH; i ++ )

{

iArrar[i] = i + 1;

}

PrintArrary( iArrar, ARRAYLENGTH );

}

要是看不懂,再HI我

#include "stdioh"  

//从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出  

int main()  

{  

    int i;  

 float max,min,num[10];  

    printf("请输入10个数,每输入一个数按回车键结束:\n");  

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

    {  

     scanf("%f",&num[i]);  

    }  

    max=min=num[0];  

    for(i=1;i<10;i++)  

    {     

     if(max<num[i])  

     max=num[i];  

     else if(min>num[i])  

     min=num[i];  

       

    }  

     

    printf("最大为:%f\n最小为:%f\n",max,min);  

    return 0;  

}

只需要开辟足够大的数组,然后依次读取输入数据,并存到数组中,最终再依次输出即可。

比如输入10个整型数据并原样输出的程序可以写作:

#include <stdioh>

int main()

{

int a[10]; //定义数组

int i;

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

scanf("%d",&a[i]); //输入

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

printf("%d ", a[i]);//原样输出。

return 0;

}

以上就是关于c语言编程: 将一组数按从大到小的顺序排序全部的内容,包括:c语言编程: 将一组数按从大到小的顺序排序、c/c++ 我有一组数,我需要每5个数一行输出,且第5个数末尾没空格, 例如: 1 2 3 4 5 6 输出是:1 2 3 4 5 6、C语言,求程序:有一组数1,2,3.。。。54,要求用一定方法随即输出~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9843551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存