精华内容
下载资源
问答
  • C语言随机生成10个不同的

    千次阅读 2019-12-29 15:14:48
    #include<stdio.h> #include<stdlib.h>...//比较数组中是否存在两相等的数字a[i]?=t int compare(int *a,int t){ for(int i=0;i<N;i++) if(a[i]==t) return 1; return 0; ...
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #define N 10
    //比较数组中是否存在两个相等的数字a[i]?=t
    int compare(int *a,int t){
    	for(int i=0;i<N;i++)	
    		if(a[i]==t) return 1;
    	return 0;
    
    
    }
    void generateArray(int *a){
    	srand((unsigned int)time(NULL));
    	for(int i=0;i<N;){
            int t=rand()%20+1;
    		if(compare(a,t)==0){
    			a[i]=t;
    			i++;
    		}
    	}
    }
    void main(){
    	system("color 07");
    int *a=new int[N];
    generateArray(a);
    for(int i=0;i<N;i++){
    	printf("%6d",a[i]);
    }
    }
    
    展开全文
  • 随机生成的数字可能重复,因此可能产生重复的结果。 2.为了简化计算,除数为0时,表达式的值视为0,所以有可能出现非法的表达式。 比如,循环一次,随机产生的一组表达式: {(1+2)*5}+9=24 (1-9)*(2-5)=24 (1+5)+(2*...

    #include

    #include

    #include

    int calc_sign(int a1, int a2, int b) {

    switch (b) {

    default:

    case 0: return (a1+a2);

    case 1: return (a1-a2);

    case 2: return (a1*a2);

    case 3: if (a2!=0) return (a1/a2); else return 0;

    }

    }

    #define MAX 10

    void calc_24point() {

    int num[4];

    char sign[5]="+-*/";

    int i,j,k,l;

    int n,m,r;

    int tem1,tem2,tem3;

    srand( (unsigned)time(0));

    num[0] = 1+rand()%MAX;

    num[1] = 1+rand()%MAX;

    num[2] = 1+rand()%MAX;

    num[3] = 1+rand()%MAX;

    for(i=0;i<4;i++) {

    for(j=0;j<4;j++) {

    if(j==i) continue;

    for(k=0;k<4;k++) {

    if(k==i || k==j) continue;

    for(l=0;l<4;l++) {

    if(l==i || l==j  || l==k) continue;

    for(n=0;n<4;n++) {

    for(m=0;m<4;m++) {

    for(r=0;r<4;r++) {

    tem1=calc_sign(num[i],num[j],n);

    tem2=calc_sign(tem1,num[k],m);

    tem3=calc_sign(tem2,num[l],r);

    if(tem3==24)  printf("{(%d%c%d)%c%d}%c%d=24\n",num[i],sign[n],num[j],sign[m],num[k],sign[r],num[l]);

    else if(tem3==-24)  printf("{%d%c(%d%c%d)}%c%d=24\n",num[k],sign[m],num[i],sign[n],num[j],sign[r],num[l]);

    else {

    tem1=calc_sign(num[i],num[j],n);

    tem2=calc_sign(num[k],num[l],r);

    tem3=calc_sign(tem1,tem2,m);

    if(tem3==24.0)  printf("(%d%c%d)%c(%d%c%d)=24\n",num[i],sign[n],num[j],sign[m],num[k],sign[r],num[l]);

    }

    }

    }

    }

    }

    }

    }

    }

    }

    int main() {

    while(1) {

    calc_24point();

    if(getchar() != 'e') continue;

    else break;

    }

    }

    程序会循环产生随机数并计算24点,输出合法的表达式。

    按e键退出循环,按其它键继续。

    程序有两点问题:

    1.随机生成的数字可能重复,因此可能产生重复的结果。

    2.为了简化计算,除数为0时,表达式的值视为0,所以有可能出现非法的表达式。

    比如,循环一次,随机产生的一组表达式:

    {(1+2)*5}+9=24

    (1-9)*(2-5)=24

    (1+5)+(2*9)=24

    (1+5)+(9*2)=24

    (1+5)*(9/2)=24

    {(2+1)*5}+9=24

    {(2*9)+1}+5=24

    {(2*9)+5}+1=24

    (2-5)*(1-9)=24

    (9-1)*(5-2)=24

    {(9*2)+1}+5=24

    (9/2)*(1+5)=24

    {(9*2)+5}+1=24

    (9/2)*(5+1)=24

    (5+1)+(2*9)=24

    (5+1)+(9*2)=24

    (5+1)*(9/2)=24

    (5-2)*(9-1)=24

    展开全文
  • int n = 10; int array[10]; for (int i = 0; i < n; i++) { srand(i); array[i] = rand() % 100 + 1; } for (int i = 0; i < n; i++) { printf("%d\n", array[i]); } return 0; } 结果 ...

    代码 

    int main(){
    	int n = 10;
    	int array[10];
    	
    	for (int i = 0; i < n; i++) {
    		srand(i);
    		array[i] = rand() % 100 + 1;
    	}
    	for (int i = 0; i < n; i++)
    	{
    		printf("%d\n", array[i]);
    	}
    
    	return 0;
    }
    

    结果

    误区

    范围在[1,100],随机数为rand()%100+1。范围在[a,b],随机数为rand()%b+a(XXXXXX)

    参考这篇博文,才知道范围在[a,b],随机数为rand() % (b - a + 1)+ a

    展开全文
  • 题目来源:大工慕课 链接 作者:Caleb Sung 参考代码 #include&lt;stdio.h&gt; #include&lt;stdlib.h&... int a[10], i=0, j, k, t, b, *p; srand(time(NULL)); for(p=a;p&lt;...

    题目来源:大工慕课 链接
    作者:Caleb Sung

    参考代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a[10], i=0, j, k, t, b, *p;
        srand(time(NULL));
        for(p=a;p<a+8;p++)
            p[i]=rand()%99+1;
        printf("随机生成的八个数字分别为:\n");
        for(p=a;p<a+8;p++)
            printf("%d\t",p[i]);
        printf("\n\n"); 
        p=a;
        for(j=8;j>=0;j--)
        {
            t=0;
            for(k=1;k<=j;k++)
            {
                if(*(p+t)>=*(p+k))
                t=k;
            }
            b=*(p+t);
            *(p+t)=*(p+j);
            *(p+j)=b;
        }
        printf("这八个数字从大到小排列顺序后为:\n");
        for(p=a;p<a+8;p++)
            printf("%d\t",p[i]);
        printf("\n");
        printf("\n请再输入一个数字。\n");
        scanf("%d",&a[8]);
        p=a;
        for(j=9;j>=0;j--)
        {
            t=0;
            for(k=1;k<=j;k++)
            {
                if(*(p+t)>=*(p+k))
                t=k;
            }
            b=*(p+t);
            *(p+t)=*(p+j);
            *(p+j)=b;
        }
        printf("\n这九个数字从大到小排列顺序后为:\n");
        for(p=a;p<a+9;p++)
            printf("%d\t",p[i]);
        printf("\n");
        return 0;
    }

    运行效果

    【输出】

    随机生成的八个数字分别为:
    56      31      78      68      94      99      61      11
    
    这八个数字从大到小排列顺序后为:
    99      94      78      68      61      56      31      11
    
    请再输入一个数字。

    【输入】26
    【输出】

    这九个数字从大到小排列顺序后为:
    99      94      78      68      61      56      31      26      11
    展开全文
  • C语言编程:试用随机函数产生20个〔100,1000〕之间的整数,并按从小到大的顺序,按每行10个数的格式输出 先定义随机函数f 然后定义一个整数变量a 定义一个数组(长度20个数)b *套用随机函数产生整数赋予变量a 比较...
  • 不会写,咋生成随机数,冒泡法原理是啥,这些都不是很清楚</p>
  • 随机数生成器比较透明,而且较容易改动.很不错.每次实现代码的时候,都会发现很多问题.而且,一旦写上了代码,时光就飞逝了...很不错.好吧,帖出来吧.又是来网吧,又是边下电影边写Blog,呵呵.很不错./* 10-35-11-02-08...
  • srand()设置随机数种子rand()生成0 - RAND_MAX范围的随机数加上其他运算,我们能够生成任意范围的随机数 。rand()是将随机数表里面的随机数顺序输出。... 10){//生成随机的三数字int i = strlen(str);fo...
  • 请设计 一密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一大写字母,每组密码不能相同,输出生成的密码. #include<stdio.h> #include<time.h> #include...
  • 请设计 一密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一大写字母,每组密码不能相同,输出生成的密码.#include#include#includeint getchar();void test(int array[]);...
  • 如何用C语言程序生成符合正态分布的随机数列? 一般有两种算法:   算法一产生12(0,1)平均分布的随机函数,用大数定理可以模拟出正态分布。   算法二用到了数学中的雅可比变换,直接生成正态分布,但...
  • 在9*9的矩阵中随机生成10个“雷”,输出“雷”的分布矩阵(扫雷游戏的初始状态)。要求“雷”的位置输出字符(ASCII码15),非“雷”的位置输出附近有多少颗“雷”,附近无雷不输出。 提示: ① 声明一个9×9的二...
  • 满意答案baohl123456推荐于 2018.01.31采纳率:56%等级:11已帮助:9904人给,已经在VC6上运行确认了:#include #include /* 随机库函数 */#include /* 时间库函数 */int count=0, ok=0;/* count表示回答次数, ok...
  • #include <stdio.h> #include <stdlib.h>...#define COLUMN_WIDTH 10 //每行打印元素个数 int* getRandArray(int length, int min, int max); void showdata(int data[], int length); voi
  • C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态分布,从而相当于产生了随机数,但...
  • 初学C语言:猜数字

    2021-01-13 15:22:10
    随机生成没有重复的n个数,用户从键盘输入猜测的数,每猜一次,电脑给出提示,如果用户输入的数跟计算机生成的数, 数值和位置都完全相同,则胜出 √ 1、有操作菜单,能根据不同选择运行不同功能:1.开始游戏! 2、...
  • 无法运行到100万个数,到10万有时候就会出错了;2. 想要在生成随机数之后将随机数保存在一个TXT文件中,在将数据全部排序之后将排序后的数据也保存在同一个TXT文件中,但是我写出来的代码总是有问题,TXT中保存的都...
  • (1) 修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。 (2) 修改可以尝试的次数。 3. 若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。...
  • C语言

    2017-03-09 23:01:48
    函数的功能是随机生成数组,并计算出数组中的平均值,,再返回数组中的与平均值最接近的;**#include #include #define N 10 double fun(double x[],double *av) { int i,j; double d,s; s=0; for(i=0; i;...
  • 随机数生成

    2011-06-06 12:19:00
    C语言编写一个程序,生成10个(0,1)区间的随机数,让同一程序执行多次,可以看到每次产生的随机数都是重复。 #include #include #include void main() { int i; double d; for(i=0; i; i++)
  • 手机游戏名称:猜数字使用的开发语言:C语言基本规则:电脑随机生成1-30之间的数字,人和电脑分别猜一数字,看谁的数字较为接近生成的数字.要求:每人和计算机10,000点,玩家进入多少分,分数上限为500分,...
  • C语言 新奇版 猜数字

    2017-08-29 09:46:58
    //每把从猜中开始,例如玩4个数,4A0B为猜中, //此时进入下一把,会有新的数供猜测 //printf("%d\n",a[n]); int A=M,B=0; int count_cur=0; do { int player=guess(A,B); ++count_cur; test...
  • (1) 修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。 (2) 修改可以尝试的次数。 3. 若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。...
  • 大一学c,后面就一直...要求实现以下效果(随机数随机生成) #include <stdio.h> #include <stdlib.h> #define N 20 int a[N]={0}; int histogram[10]={0}; int print_star(void){ int...
  • 请设计 一密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一大写字母,每组密码不能相同,输出生成的密码.#include#include#includeint getchar();void test(int array[]);...
  •  基本规则:电脑随机生成1-30之间的数字,人和电脑分别猜一数字,看谁的数字较为接近生成的数字.  要求:每人和计算机10,000点,玩家进入多少分,分数上限为500分,异常值分数,提示错误,输入是必需的,...
  • 文件“8数码拼图测试代码.txt”是提供给教师的,这里简单地采用“随机+排除”的方法(但针对的是不相关的数据),猜3个数的和人的水平差不多,猜4个数比人厉害。 #include #include #define M 4 //猜几个数字 ...
  • 随机生成4代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言实现程序解决问题。 我采用了最熟练的C语言实现了该游戏程序,此程序采用的是穷举表达式的方法,然后求值。但是,由于括号...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 136
精华内容 54
关键字:

c语言随机生成10个数

c语言 订阅