c语言中随机数 开始是两个正整数 n 和 k,该两数让你判断随后的 n 个随机整数中是否恰好有出现 k 次的数

作者&投稿:妫舍 (若有异议请与网页底部的电邮联系)
C语言随机数题目~

#include #include #include #include #define N 9int s[10];void create(){ int i=0,m=0; srand((unsigned)time(NULL)); for(i=0;i",s[i]); printf("%d
",s[9]);}void sort(){ int tmp; int i=0,j=0; for(i=0;is[j]) { tmp=s[i]; s[i]=s[j]; s[j]=tmp; } } for(i=0;i",s[i]); printf("%d
",s[9]);}void find(){ int k=0,mid,left=0,right=N; sort(); printf("请输入你要查找的数字(10 k ) right = mid - 1; mid = ( left + right ) / 2; } if( s[mid] == k ) printf("数组中有%d这个数字,位置为第%d个",k,++mid); else printf("数组中没有%d这个数字
",k);}main(){ int i=10; while(i) { printf("
--------------------------------
"); printf("1 随机10个数字
"); printf("2 查 找
"); printf("3 排 序
"); printf("0 退 出
"); printf("请选择
"); scanf("%d",&i); switch(i) { case 1:create();break; case 2:find();break; case 3: printf("
以下是排序后的结果
");sort(); break; case 0:printf("退出
");break; default :printf("error!"); } printf("
按任意键继续..."); getch();system("cls"); } }

库函数中系统提供了两个函数用于产生随机数:srand()和rand()。 原型为:
函数一:int rand(void);
返回一个[0,RAND_MAX]间的随机整数。

//rand(100) 0~100的随机数,实际不是随机 需要srand函数重置随机种子
想产生 N~M
rand(M-N) + N;

函数二:void srand(unsigned seed);
参数seed是rand()的种子,用来初始化rand()的起始值。
//可以使用 srand((unsighed)time(NULL))
参数是 系统定时/计数器的值作为随机种子 (系统时间)

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int main(void){
int a[1001],i,j,n,k,x,T,sum;
printf("Input T(1~1000)\nT=");
scanf("%d",&T);
printf("Input n & k(1<n<1001 k<n)...\n");
srand((unsigned)time(NULL));
while(T--){
scanf("%d%d",&n,&k);
for(i=0;i<n;a[i++]=rand());
for(x=n-k+1,i=0;i<x;i++){
for(sum=0,j=i;j<n;j++)
if(a[i]==a[j]) sum++;
if(sum==k){
printf("Yes!\n");
break;
}
}
if(sum!=k)
printf("No!\n");
}
return 0;
}

#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int a[1001];
int main()
{
int T;
scanf("%d",&T);
for(int i=1;i<=T;i++)
{
memset(a,0,sizeof(a[1]));
int n,k;
scanf("%d%d",&n,&k);
for(int j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
sort(a,a+n);
int sum=1,flag=0;
for(int j=1;j<n;j++)
{
if(a[j]==a[j-1])
{
sum++;
}
if(sum==k)
{
flag=1;
printf("Yes
");
break;
}
if(a[j]!=a[j])
{
sum=1;
}
}
if(flag==0)
{
printf("No
");
}
}
return 0;
}

有k的范围嘛?




东胜区13862746005: 用C语言 随机产生两个100以内的的正整数,求这两个数的和. -
郜兔肝苏: #include <stdio.h> #include <time.h>int main() {int num1, num2; srand(time(NULL));num1 = rand() % 100;num2 = rand() % 100;printf("%d\n", num1 + num2);return 0; }

东胜区13862746005: c语言中怎样使产生的随机数是二位整数 -
郜兔肝苏: int i; srand((unsigned)time(NULL)); i = rand() %90 + 10;

东胜区13862746005: 随机产生两个100以内的正整数,求算两个数之和?这是我们C语言的一条题目, -
郜兔肝苏: 代码如下 这个代码不复杂的,除了基本的,要用到的只有一个产生随机数的函数!srand((unsigned)time(NULL)); 这个代表生成一个随机数 rand();取出一个随机数,%100是为了保证随机数在100以内,比如rand()%20就是代表在20以内的...

东胜区13862746005: C语言 用库函数产生两个随机正整数,各取后两位,然后二者求余 -
郜兔肝苏: #include#include#include main() { int m,n,M,N; m=rand()%10000+1; srand(time(NULL)); n=rand()%10000+1; M=m%100; N=n%100; printf("%d,%d",M%N,N%M) } 不太明白你说的两者求余是什么意思

东胜区13862746005: c语言:随机产生10个两位正整数,分别统计其中偶数和奇数的个数,以及各类数据之和.
郜兔肝苏: 123456789101112131415161718 #include <stdio.h>#include <stdlib.h>#include <time.h> intmain() { intsa=0,sb=0,n,i,a=0,b=0; srand(time(NULL)); for(i = 0; i<10; i++) { n=rand()%90+10; if(n%2==0) {a++; sa+=n;} else{b++; sb+=n;} } printf("奇数%d个,和为%d, 偶数 %d个,和为%d\n", b, sb, a, sa); return0; }

东胜区13862746005: 用c语言编产生0或者1两个整数的随机数(不是0到1) -
郜兔肝苏: 每次产生16位不同的随机二进制数:#include<stdio.h>#include<stdlib.h>#include<time.h> int main() {int i; srand(time(NULL)); for(i=0;i<16;i++) printf("%d",rand()%2); return 0; }

东胜区13862746005: c语言怎样产生两个不同的随机数 -
郜兔肝苏: randomize();//放在random(x);的前面使产生的整数不会重复 random(x);//x为正整数,随机产生0到x之间的1个整数 用这2个函数哈~它们包含在头文件《stdlib.h》中 比如: randomize(); a=random(100); 这样就产生了一个0到100之间的随机数a,而且每次都不会重复

东胜区13862746005: c语言:产生随机数,要求(1)满足均匀分布的[m,n]区间随机数,其中m,n是正整数(2)满足指数 -
郜兔肝苏: 1 均匀分布 int normal_rand(int m, int n) { return rand()%(n-m+1)+m; }2 指数分布:double exp_rand(int m, int n) { int x; double U,G; x=rand();U=x/(double)(n-m+1);G=-log(1-U)/t+m;return G; }

东胜区13862746005: “利用随机函数产生200个两位正整数”这个C语言程序开头怎么写? -
郜兔肝苏: #includemain() {int n,x; randomize(); for(n=0;n10&&x

东胜区13862746005: C语言随机数,如何生成既有正数又有负数的随机数呢 -
郜兔肝苏: 可以随机两次,一次用来生成数据,一次用来生成符号,如: int data, symbol ; int i; for( i=0;i<10;i++ ) {data=rand();symbol=rand();if ( symbol % 2 ) //奇数时,为负数,偶数时,为正数data=-data ;printf("%d\n", data ); }

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