當前位置:首頁 » 編程語言 » c語言20位隨機序列
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言20位隨機序列

發布時間: 2023-05-09 15:58:34

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頭文件)。