随机产生20个100以内的数,输出;按从小到大的顺序排序,输出。(用C语言额)

如题所述

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

int a[20];

int i, j, t;

srand(time(NULL));

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

a[i] = rand() % 100;

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

for (j = i + 1; j < 20; j++)

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

{

t = a[i];

a[i] = a[j];

a[j] = t;

}

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

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

}

扩展资料:

main函数用法

C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,

不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16

#include "stdio.h"

#include "stdlib.h"

#include "time.h"

int main()

{

        int a[20]={0};

        int i,j,tmp;

        srand(time(NULL));

        printf("随机生成的20个数据:\n");

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

        {

           a[i]=rand()%101;      

           printf("%d\t",a[i]);

        }     

        //从小到大排序

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

          for(j=i+1;j<20;j++)

              if(a[i]>a[j])

              {

                   tmp=a[i];

                   a[i]=a[j];

                   a[j]=tmp;

              }

      

         printf("\n从小到大排序后输出:\n");

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

            printf("%d\t",a[i]);

         printf("\n");

 

}

本回答被网友采纳
第2个回答  2013-05-07
主要函数srand(); rand() %100; 再加上数据结构的任意一种排序即可;告诉你函数希望你自己去查的学习比我直接给你代码有用嘿嘿
第3个回答  2019-02-24
是2.4.7.9
大家可以算一下,20次为一周期,在这一周期里,狐狸所找洞是(0代表10):0
1
3
6
0
5
1
8
6
5
5
6
8
1
5
0
6
3
1
0
0
如此类推,永远都不会出现2
4
7
9几个尾数,所以狐狸也不会进这几个洞.
第4个回答  2013-05-07
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int buf[20];
int i,j,min;

srand((unsigned)time(NULL));
for(i=0;i<20;i++)
{
buf[i] = rand()%100;
}
for(i=0;i<20;i++)
{
min = buf[i];
for(j=i+1;j<20;j++)
{
if(min>buf[j])
{
min = buf[j];
buf[j] = buf[i];
buf[i] = min;
}
}
printf("%d ",buf[i]);
}
}

随机产生20个100以内的数,输出;按从小到大的顺序排序,输出。(用C...
for (i = 0; i < 20; i++)printf("%d ", a[i]);}

随机产生20个100以内的数,输出;按从小到大的顺序排序,输出。
main(){ long a,b;for(a=0;a<100;a++)printf("%5ld",a*(a+1)\/2%10);\/*只表示正向走0,1,2,3...*\/ getch();} 运行结果:0 1 3 6 0 5 1 8 6 5 5 6 8 1 5 0 6 3 1 0 0 1 3 6 0 ...

...随机函数产生20个〔100,1000〕之间的整数,并按从小到大的顺序...
int main(){ int a[20] ={0};for(int i=0;i<20;i++){ a[i] = getRandNum()%899 +101; \/\/先产生0-899然后加上101就可以得到100到1000 printf("%d,",a[i]);} for(int i=0;i<20;i++) \/\/冒泡排序法 { for(int j=19;j>i;--j){ if(a[j]<a[j-1]){ int temp...

...随机函数产生20个〔100,1000〕之间的整数,并按从小到大的顺序...
然后定义一个整数变量a 定义一个数组(长度20个数)b 套用随机函数产生整数赋予变量a 比较变量a的值是否在100~1000,是就依次放到数组中,不是就继续用随机函数产生整数比较。循环从*开始的步骤,可以利用for来确定直到b(19)也被赋值 然后用起泡法排序数组b中的20个数 最后输出的时候用循环,b(0...

c语言随机产生20个整数然后排序 顺序 越简单越好(新新手)
k。如果不需要范围,可以去掉%kint k=100;for(i=0;i<20;i++)a[i]=rand()%k;\/\/排序a[20],从小到大for(i=0;i<19;i++){for(j=i+1;j<20;j++){if(a[i]>a[j]){n=a[i];a[i]=a[j];a[j]=n;}}}\/\/输出a[20]for(i=0;i<20;i++)printf("%d ",a[i]...

c语言如何实现按从小到大的顺序输出数字?
C语言程序如下: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\\n",a,b,c);return0;} ...

...求它们的平均值,然后将20个数按由小到大的顺序输出
include <stdio.h> int main(void){ int a[20], i, j, sum =0, temp;for(i =0; i <20; i++){ printf("请输入第%d个数字:", i);scanf("%d",&a[i]);sum += a[i];} printf("平均值:%f\\n",(float)sum \/20);for(i =0; i <19; i++)for(j = i +1; j <...

如何用c语言实现输入一些数字,按照从大到小排序输出?
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...

...要求输入一串数字,按照从小到大的顺序输出,怎么编写啊
printf("%d ",a[i]);} printf("\\n");} void sort(int* a, int n){ for(int i=1; i<n; i++){ int t= a[i];\/\/要插入的数据 int j;\/\/要插入的位置 for(j=i; j>0 && a[j-1]>t; j--){ a[j] = a[j-1];} a[j] = t;} } int main(){ int a[] = {...

如何将c语言实现按从小到大的顺序输出?
C语言实现将数组的六个元素按从小到大的顺序输出,可以采用内部排序算法对数组的元素进行排序,然后输出排序后的数组,就可以得到按从小到大的顺序输出。以快速排序为例的排序代码:void quickSort(int a[],int l,int r) { if(l>=r)return;int i = l;int j = r;int key = a[l];\/\/选择...

相似回答