怎样用C语言生成10个1到100的不重复的随机数?

作者&投稿:施炊 (若有异议请与网页底部的电邮联系)
怎样用C语言生成10个1到100的不重复的随机数?~

用随机函数就好了
抄楼下的,但算法结构比楼上

#include
#include
#include
int
main()
{
int
srand_num[10];
srand((unsigned)time(NULL));
for(int
i=0;i<10;i++)
{
a[i]=rand()%99+1;
if(i>0&&srand_num[i]==srand[i-1])
i--;
}
for(int
i=0;i<10;i++)
printf("%6d",srand_num[i]);
}

#include
#include
#include
#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]);
}

}

楼主你好!
根据你的要求我已经将代码实现如下
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main(){
int a[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++){
A: a[i]=rand()%99+1;
for(int j=0;j<i;j++){
a[i]=rand()%99+1;
if(a[i]==a[j])goto A;
else break;
}
}
for(int i=0;i<10;i++)
printf("%d ",a[i]);
}

希望我的回答对你有帮助!

/*
7 29 89 2 63 35 34 82 96 87 69 6 44 12 5 93 4 67 46 83
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 20
int main() {
int i,j,flag,num,a[N];
srand((unsigned)time(NULL));
for(i = 0; i < N; ++i) {
num = rand()%98 + 1;
flag = 1;
for(j = 0; j < i; ++j) {
if(num == a[j]) {
flag = 0;;
break;
}
}
if(flag) a[i] = num;
else --i;
}
for(i = 0; i < N; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}

用随机函数就好了
抄楼下的,但算法结构比楼上 好
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int srand_num[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++)
{
a[i]=rand()%99+1;
if(i>0&&srand_num[i]==srand[i-1]) i--;
}
for(int i=0;i<10;i++)
printf("%6d",srand_num[i]);
}

rand()函数,遇到重复的不输出就ok了嘛


用循环结构求出10! C语言
include <stdio.h> int main(){ int sum=1;int i;for(i=1;i<=10;i++){ sum*=i;} printf("10!=%d\\n",sum);} 10!就是10*9*8*7...*1所有就是上面的示例咯

如何利用C语言编程实现逆序输出十个数?
C语言通过输入十个整数然后分别顺序和逆序输出的编程思想和方法如下:1.首先需要定义一个整型数组用于存储输入的10个整数。这里定义一个数组a。2.然后利用for循环,接受从键盘输入的10个整数。这里使用i作为循环的游标变量。3.输入完毕后,再次利用for循环来顺序输出存储在数组的十个数。这里同样使用局部...

C语言如何将一个数字组成的字符串转变成十进制数
一、直接使用库函数atoi将数字字符串转换成十进制整数。代码如下:include "stdio.h"#include "stdlib.h"\/\/调用库函数atoi要包含这个文件int main(int argc,char *argv[]){char a[]="478167831";printf("%d\\n",atoi(a));\/\/直接调用atoi将a转换为十进制整数return 0;}二、用库函数sscanf直接将...

用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序...
C语言随机输入10个整数的源代码如下:include"stdio.h"void fun(int a[]){ int i,j,t;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;} } void main(){ FILE *wf;int a[10];int b[10]={9,10,11,12,1,2,3,4,0,1};...

如何用c语言编写一个程序,实现按从大到小的顺序排序输出10个数
用选择排序法编写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...

C语言 随机生成10个加法算式,输入每个算式的计算结果,判断计算是否正确...
除法没有校验,有余数,输出整除即可;include "stdafx.h"#include <stdlib.h>#include int ChoiceFunc(int a, int b,int Suanfa){int result = 0;switch (Suanfa){case 0:result = a + b;break;case 1:result = a - b;break;case 2:result = a * b;break;case 3:if (b!=0){...

编写C语言程序并上机编译运行:生成10个A-Z之间互不相同的大写英文字母...
include <stdio.h> include <stdlib.h> include int exist(char s[],int n,char c) { int i = 0;while(i < n) { if(s[i] == c) return 1;++i;} return 0;} int main() { char s[20] = {0},c;int i = 0;srand((unsigned)time(NULL));while (i < 10) { c =...

用c语言输出一乗到10
int main(){ int r = 1,i; for(i = 1; i <= 10; i ++) r*=i; printf("%d\\n", r);}

c语言随机数怎么生成
在实际编程中,我们经常需要生成随机数。在c语言中我们通常使用rand方法生成随机数,在调用rand前需要调用srand初始化随机数种子。电脑:华为MateBook14 系统:Windows10 软件:notepad++等编辑器、gcc编译器1.0 1、使用rand函数生成随机数,rand随机生成一个位于0~RAND_MAX之间的整数。如下图中,我们直接...

c语言生成0到10的随机数
include<stdio.h>#include<stdlib.h>void main(){ srand(time(NULL)); int a = rand() % 11; printf("%d",a);}

昌江区18514684890: c语言生成1到100的数组 -
员果介宁: 随机生成10个1—100的数组. 利用系统流失时间做种子,产生随机数1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34#include<iostream> #include<ctime> usingnamespacestd;intmain() { srand(...

昌江区18514684890: 在C语言中如何产生10到100的随机数 -
员果介宁: 包含以下库 #include <stdlib.h> 先调用初始化随机数 void srand(unsigned seed); 再调用 rand() 得到随机数 rand()%91 + 10 就是 10 到100的随机数

昌江区18514684890: 等一个C语言高手,新手求教 用主函数产生10个1 - 100的随机数放进一个数组中 -
员果介宁:#include #include #include void op(int *a,int *max, int *min) {int i;*max = a[0],*min = a[0];for(i = 1;i<10;i++) {if(*max if(*min > a[i]) *min = a[i];} } int main() {int i,a[10],max,min;srand(time(0));for(i =0;i<10;i++) a[i] = rand()%100 +1 ;op...

昌江区18514684890: c语言.声明一个有10个元素构成的整型数组,并随机生成100以内的整数给予赋值,并显示出来 -
员果介宁: 1 2 3 4 5 6 7 8 9 10#include "stdio.h" intmain() {inta[10],i;srand((unsigned)time(NULL));for(i=0;i<10;i++)a[i]=rand()%100;for(i=0;i<10;i++)printf("%d,",a[i]); }

昌江区18514684890: c语言编程随机生成10个1 - 100的数,将2的整数倍删除后再输出 -
员果介宁: #include<stdio.h>#include<time.h>#include<stdlib.h>#define N 10 void main() { int a[N],i; srand((unsigned int)time(NULL)); for ( i=0;i<N;i++ ) a[i]=rand()%100+1; for ( i=0;i<N;i++ ) if ( a[i]%2!=0 ) printf("%d ",a[i]); printf("\n"); }

昌江区18514684890: c随机产生十个数,放在一个数组中 -
员果介宁: srand((unsigned)time(0));a[i]=rand() % 101; //产生0到100的随机数,并放在一个数组中需要在上面两行代码之间加延时代码,如sleep(unsigned int) 原因,循环体在一秒钟中之内执行完了,所以srand( (unsigned)time(NULL) )产生的“种子数”是相同的(time(0)函数表示取当前时间,以秒为单位),所以生成的随机数相同

昌江区18514684890: c语言编程;产生 10 个 0 到 99 之间的随机数序列 -
员果介宁: #include <time.h>#include <stdlib.h>srand(time(0));int main(){ int a[10],i; for(i=0;i<10;i++){ a[i] = rand()%5+1; }}

昌江区18514684890: C语言编个程序,让程序产声10个100以内的随机数,怎么编? -
员果介宁: #include<stdlib.h> #include<stdio.h> void main() { int i,save; for(i=1;i<=10;i++) { save=rand()%100; printf("%d\n",save); } }

昌江区18514684890: (C语言编程)请输入10个1到100之间的整数,输出其中的最大值max和最小值min. -
员果介宁: #includemain() { int a[10],t,min,max; int i; printf("请输入10个1到100的整数:\n"); for(i=0;i<10;i++) scanf("%d\n",&a[i]); min=max=a[0]; for(i=1;i<10;i++) if(min>a[i]) min=a[i]; if(max 满意请采纳

昌江区18514684890: 随机产生10个30 到100的正整数c语言 -
员果介宁: #include #include int main() { int i; srand((unsigned)time(0)); for(i = 0; i printf("%d ", rand() % 90 + 10); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网