1. c语言编程:随机产生20个20-50之间的随机整数,然后排序后输出。 急求答案,谢谢
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[20],b[20];
for(int i = 1; i<= 20; i++)
{
a[i] = rand()%30 + 20;//产生一个1到30的随机数,然后再加20 就是20到50的随机数了
}
for (int j = 1; j<=20;j++)
{
for(int i = 1; i<=20; i++)
{
int temp;
if(a[i]>a[i+1])
{
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}//end if
}//end for i
}//end for j
for ( i = 1; i <=20; i++)
{
printf("%d,",a[i]);
}
printf("\n");
return 0;
}
2. C语言编程如何产生一个0-20的随机偶整数
C语言编程产生一个0-20的随机偶整数示例:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define NUM 20 /*生成多少个这样的数*/
int main(void)
{
int i;
srand(time(NULL)); /*time(NULL)是得到当前时间,srand()是取一个种子好生成随机数*/
for(i=0;i<NUM;i++)
printf("\n%d",rand()%5*2);
/*rand()生成一个随机数,%5后得到0~4的数,接着*2得到0~8的偶数,再+1得到1~9的奇数*/
return 0;
}
3. 如何用C语言编写出 生成10个1到20不重复的随机数。直接完整程序就好了,谢谢
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void main()
{
int a[20]={0},b[N],x,i,j,t;
srand((unsigned int)time(NULL));
for (i=0;i<N;i++)
{
while(a[x=rand()%(20-2) + 2]);
{
b[i]=x;
a[x]=1;
// printf("%d ",b[i]);
}
}
for(i =0 ;i<N-1;i++)
{
for(j = i+1 ;j<N;j++)
{
if(b[i]>亩悉b[j])
{
t= b[i];
b[i] = b[j];
b[j] = t;
}
}
}
for(i =0 ;i<N;i++)
{
printf("迅歼乎%d "改余,b[i]);
}
}
4. C语言,随机生成20个数从大到小排列,找到大于平均数的值输出。再输入任意数,在上述数列中用二分法
#include<stdio.h>
#include"stdlib.h"
#include"time.h"
intmain(void){
inta[20],i,j,k,t;
srand((unsigned)time(NULL));
for(t=i=0;i<20;a[i++]=rand()%1000);
for(i=0;i<20;i++){
for(k=i,j=k+1;j<20;j++)
if(a[k]<a[j])
k=j;
if(k-i)
j=a[k],a[k]=a[i],a[i]=j;
printf(++t%10?"%4d":"%4d ",a[i]);
}
printf("Inputaninteger... ");
scanf("%d",&k);
i=0,j=19;
while(a[t=(i+j)/2]!=k&&j>i)
if(a[t]<k)
j=t-1;
elseif(a[t]>k)
i=t+1;
if(a[t]==k)
printf("%datthesubscript%d ",k,t);
else
printf("-1 ");
return0;
}
5. C语言中随意生成20个数字用什么函数啊
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
/*产生一个start~end区间中的随机数,然后返回该随机值*/
int proce_rand(int start, int end);
int main(void)
{
int num = 0;
int i = 0;
//for test
for(i=0; i<20; i++)
{
num = proce_rand(100,200);
/*注意这里的休眠是必要的,因为是用time(NULL)作为种子,如果直接运行,那么很有可能产生的多个一样的随机数*/
sleep(1);
printf("%d\n",num);
}
return 0;
}
int proce_rand(int start, int end)
{
int rand_num;
int start_t;
int end_t;
//确定参数范围,确保start_t<=end
(start<=end)?(start_t=start,end_t=end):(start_t=end,end_t=start);
//time(NULL)为随机种子,播种子
srand((unsigned)time(NULL));
//产生随机数
rand_num =rand()%(end_t-start_t+1)+start_t;
return rand_num;
}
6. c语言随机产生20个整数然后排序 顺序 越简单越好(新新手)
#include<stdio.h>
#include<stdlib.h>
intmain(void){
inti,j,n,a[20];
//限定整数范围为0~k。如果不需要范围,可以去掉%k
intk=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]);
return0;
}
7. C语言程序:把20个随机数存入一个数组,然后输出该数组中的最大值!!求解!!
# include <stdio.h>
# include <time.h>
# include <stdlib.h>山拦型逗猜
int main(void)
{
int a[20],i,max;
srand((unsigned int) time(0));
max=a[0] = rand() % 100 + 1;
for (i= 1; i < 20; ++i)
{
a[i] = rand() % 100 + 1;
if(a[i]>max) max=a[i];
}
printf("max=%d\n"衡漏,max);
return 0;
}
8. C语言:生成20个随机数,然后把它们排序,最后要把排序前和排序后的数都显示出来。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nums[21],num[21]; /*你的角标从1开始,这里的20就不够了*/
int i,j;
int index,temp;
srand(time(NULL));
for (i=1;i<=20;i++)
{
nums[i] = rand(); /*这个应当是i*/
printf("%d\n",nums[i]);
num[i]=nums[i]; /*备份原始数据*/
}
/*选择法,从小到大排序*/
for (i=1;i<=20;i++)
{
index=i; /*从i到20这几个元素中最小值的序号*/
for (j=i+1;j<=20;j++)
if (nums[index]>nums[j])
index=j;
if (index!=i)/*交换i和index的元素的值*/
{
temp=nums[index];
nums[index]=nums[i];
nums[i]=temp;
}
}
for (i=1;i<=20;i++)
printf("%d\t%d\n",num[i],nums[i]);
getch();
return 0;
}
9. rand函数生成10到20的随机数
在C语言中使用rand函数生成10到20的随机数,需要包含stdlib.h头文件,可以使用以举谨下正肢基语句:
x=rand()%(20-10+1)+10;
为了使用每次运行都能得到不同的随机数序列,还饥枯应该在应用此句代码的前面,使用:
srand(time(0));语句(需包含time.h头文件)。