精华内容
下载资源
问答
  • VB程序题:利用实验C的思想,随机产生3个整数,按从小到大的顺序显示。 VB源码 龚沛曾解题:先在窗体上画一个按钮,代码如下:Private Sub Command1_Click()Dim x!, y!, z!Randomize '加上这句,每次产生随机数的第...

    VB程序题:利用实验C的思想,随机产生3个整数,按从小到大的顺序显示。 VB源码 龚沛曾

    解题:

    先在窗体上画一个按钮,代码如下:

    Private Sub Command1_Click()

    Dim x!, y!, z!

    Randomize '加上这句,每次产生随机数的第一次就不会总出现相同的数

    x = Int(Rnd * 901 + 100) '随机产生一个三位正整数

    y = Int(Rnd * 901 + 100)

    z = Int(Rnd * 901 + 100)

    Cls

    Print " 排序前:"; x; "  "; y; "  "; z

    If x < y Then t = x: x = y: y = t

    If x < z Then t = x: x = z: z = t

    If y < z Then t = y: y = z: z = t

    Print " 排序后:"; z; "  "; y; "  "; x

    End Sub

    运行程序效果图如下:

    f5af6fafdde862cdb3b1f2322531cebd.png

    Visual Basic程序设计教程(第3版) (龚沛曾等编)课后实验源码

    来源:济亨网

    展开全文
  • 随机生成100以内的两整数。 ⑶ 乘法的计算结果不得大于100,否则重新生成题目。 ⑷ 除法的计算结果必须为整数,否则重新生成题目。 ⑸ 每次练习开始前,由用户指定要做的题目数(<=100题)。根据题目,随机...
  • (2)随机生成100以内的两整数。 (3)乘法的计算结果不得大于100,否则重新生成题目 (4)除法的计算结果必须为整数,否则重新生成题目。 (5)每次练习开始前,由用户指定要做的题目数量(<=100)。根据...

    C语言整数乘除法练习器

    任务描述:编写一个整数乘除法练习器,提供给小学生使用。可进行100以内任意两个整数的乘除法练习。
    功能要求:(1)随机生成乘法或除法运算符。
    (2)随机生成100以内的两个正整数。
    (3)乘法的计算结果不得大于100,否则重新生成题目
    (4)除法的计算结果必须为整数,否则重新生成题目。
    (5)每次练习开始前,由用户指定要做的题目数量(<=100)。根据题目随机满足上述要求的试题。
    (6)对用户输入的答案,判断正确与否,并计分。答对一题得10分。
    (7)练习结束后,统计并输出回答正确和错误的题目数,最后得分,并给出相应评语。

    #include<stdio.h> 
    #include<stdlib.h>
    #include<time.h>
    #include<Windows.h>
    
    void goto_xy(int x, int y);
    void show1();
    int getchoice();
    int dowork(int n);
    int num();
    void print(int s,int n);
    
    void goto_xy(int x, int y)          //定位光标位置到指定坐标
    {   
        HANDLE hOut;
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
        COORD pos = { x,y };
        SetConsoleCursorPosition(hOut, pos);
    }
    
    void show1()                                    //开始界面 
    { 
    	printf("****************************************\n");
    	printf("|                                      |\n");
    	printf("|                                      |\n");
    	printf("|                                      |\n");
    	printf("|                                      |\n");
    	printf("|       欢迎使用整数乘除法练习器       |\n");
    	printf("|                                      |\n");
    	printf("|             1. 开始                  |\n");
    	printf("|             2. 退出                  |\n");
    	printf("|                                      |\n");
    	printf("|       请选择:                       |\n");
    	printf("|                                      |\n");
    	printf("|                                      |\n");
    	printf("|                                      |\n");
    	printf("****************************************\n");
    }
    
    int getchoice()
    {
    	int a;
    	goto_xy(16,10);
    	scanf("%d",&a);
    	return a;
    }
    
    int num()                                    //题量获取 
    {
    	int n; 
    	printf("请输入要做的题目数:\n");
    	goto_xy(19,0);
    	scanf("%d",&n);
    	return n;
    } 
    
    int dowork(int n)                                       //练习模块 
    {
    	int a,b,c,d,e,i,s=0,x=0,y=0;
    	srand((int)time(NULL)); 
    	for(i=0;i<n;i++)
    	{
    		e=rand()%2;
    		a=rand()%100;
    		b=rand()%100;
    		if(e==0)                                       //乘法 
    		{
    			if(a*b<100)
    			{
    				printf("%d*%d=\n",a,b);
    				scanf("%d",&d);
    				if(a*b==d)
    				{
    					printf("正确!\n");
    					s+=10;
    					x++;
    				}
    				else
    				{
    					printf("错误!\n");
    					y++;
    				} 
    			}
    			else
    			{
    				n++;
    				continue;
    			}
    		}
    		if(e==1)                                   //除法 
    		{
    			if(b!=0&&a%b==0)                                   //b不能为零,无意义 
    			{
    				printf("%d/%d=\n",a,b);
    				scanf("%d",&c);
    				if(a/b==c)
    				{
    					printf("正确!\n");
    					s+=10;
    					x++;
    				}
    				else
    				{
    					printf("错误!\n");
    					y++;
    				} 
    			}
    			else
    			{
    				n++;
    				continue;
    			} 
    		}
    	}
    	printf("您一共做了%d道题,其中正确%d道,错误%d道\n",x+y,x,y);
    	return s;
    }
    
    void print(int s,int n)                                          //根据百分比输出结果及评语 
    {
    	
    	printf("您的得分是:%d\n",s);
    	if(s/10/n<0.6)
    	printf("成绩不及格.\n请努力!\n");
    	if(s/10/n>=0.6&&s/10/n<0.8)
    	printf("成绩及格.\n请加油!");
    	if(s/10/n>=0.8)
    	printf("成绩优秀.\n再接再厉!\n");
    }
    
    int main()
    {
    	int a,n1,n2,s;
    	system("mode con cols=40 lines=17");                     //控制输出界面大小 
    	system("color E4");                                       //字体颜色与背景 
    L:	show1();
        a=getchoice();
        if(a==1)
        {
        	system("cls");                                         //清屏代码 
        	n1=n2=num();
        	printf("Let's go!!!\n");
    	}
        else if(a==2)
        {
        	system("cls");
        	printf("谢谢使用!\n");
    		return 0; 
    	}
      	s=dowork(n1);
        print(s,n2);
        Sleep(4000);                                           //延迟4秒 
        goto  L;                                                //跳转到 L 标签 
    }
    
    展开全文
  • 其原理就是随便产生一个整数,但是这是伪随机数,也就是说,你再次去运行它,得到的数还是原来的数。就比如在玩qq的时候,有一个掷骰子的表情,试想,如果每次得到的点数都一样就没有意义了。具体的rand()用法可以...
    k=rand()%100+1;
    

    这样就能生成1——100的随机数。其原理就是随便产生一个整数,但是这是伪随机数,也就是说,你再次去运行它,得到的数还是原来的数。就比如在玩qq的时候,有一个掷骰子的表情,试想,如果每次得到的点数都一样就没有意义了。具体的rand()用法可以参考这个博主的文章
    那么我就来说点跟这个不一样的东西。

    1.把种子放在外边:

    #include <stdlib.h> 
    #include <stdio.h> 
    #include <time.h> 
    int main() 
    { 
     int i,k;
      srand((unsigned)time(0)); 
     for(i=0;i<10;i++) 
     { 
      k=rand()%100+1;   //rand()%100表示取100以内的随机数     
      printf( " k=%d\n", k ); 
     } 
      return 0;
    }
    

    运行结果1 运行结果2
    2.放在里面:

    int main() 
    { 
     int i,k;
     
     for(i=0;i<10;i++) 
     { 
      srand((unsigned)time(0)); 
      k=rand()%100+1;   //rand()%100表示取100以内的随机数     
      printf( " k=%d\n", k ); 
     } 
      return 0;
    }
    

    在这里插入图片描述 在这里插入图片描述
    把种子放在循环里面导致生成的随机数一样的原因在于程序运行的时间太短了,短到小于一秒,所以其实种子还是一样的。
    所以还可以这样玩:

    #include <stdlib.h> 
    #include <stdio.h> 
    #include <time.h> 
    int main() 
    { 
     int i,k;
     
     for(i=0;i<10;i++) 
     { 
      srand((unsigned)time(0)); 
      system("pause");
      srand((unsigned)time(0)); 
      k=rand()%100+1;   //rand()%100表示取100以内的随机数 
          
      printf( " k=%d\n", k ); 
     } 
      return 0;
    }
    

    在这里插入图片描述
    中间我连续按了两次任意键,所以就得到两个33,其他的间隔时间不一样,这样就能得到不同的随机数了。

    展开全文
  • C语言实现1到100简单猜数字游戏

    万次阅读 多人点赞 2019-01-26 11:18:54
    猜数字游戏就是系统随机生成数字,我们来猜的游戏。 这里我们约定 1表示玩游戏,0表示退出游戏。 那么怎么才能让系统随机生成数字呢?这里我们想到一函数:rand()函数。 通过查阅MSDN软件我们可以...

    猜数字游戏就是系统随机生成一个数字,我们来猜的游戏。

    这里我们约定 1表示玩游戏,0表示退出游戏。

    那么怎么才能让系统随机生成一个数字呢?这里我们想到一个函数:rand()函数

    通过查阅MSDN软件我们可以看到rand()函数是一个返回值为int型的无参函数 ,而其返回的是0到RAND_MAX的一个随机整数。

    那么RAND_MAX是多大呢?

    在编程软件如VS2013中查看RAND_MAX的定义我们可以看到其是一个十六进制数

     将0x7fff通过程序员计数器转化为十进制得32767

    那么此时我们知道rand()函数返回的是0到32767的一个随机整数。此时系统随机生成数字的难题解决了。可是会发现该函数返回的整数可以大到上万,无疑猜数字的时候会有很大困难。

    为了让猜数字游戏变得简单有趣,我们可以让其产生0到100的随机数。那么怎么才能让rand()函数产生0到100的随机整数呢? 

    可以发现让rand()函数直接产生0到100的整数是不可能的。又因为任何一个数除以100的余数总是在0到99之间,所以只要让rand()的返回值模上100,便可随机产生0到100的整数。

    此时通过下述代码将系统生成的随机整数打印出来我们可以发现,生成的整数确实是随机的。但是当再一次运行程序的时候,我们会惊讶地发现此次运行程序所生成的随机数跟上一次运行程序所生成的随机数一模一样。这是为什么呢?

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdlib.h>
    #include <stdio.h>
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");    //输入1,表示玩游戏
    	printf("**********  0. exit  ***********\n");    //输入0,表示退出游戏
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	do{
    		menu();    //打印菜单
    		printf("请选择:");
    		scanf("%d", &input);
    		int ret = rand() % 100;
    		switch (input)
    		{
    		case 1:
    			printf("%d\n", ret);   //打印生成的随机整数
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);
    	system("pause");
    	return 0;
    }

    这是因为在调用rand()函数前,我们并没有设置随机生成的开始点。所以在调用rand()函数前,我们应该使用srand()函数设置随机生成数的开始点。那么srand()函数又是什么函数呢?

    再次查阅MSDN软件我们可以知道srand()函数是一个无返回值的参数为无符号整数的一个函数,其作用就是设置一个随机数的开始点。那么只要该函数的参数在变化,便可达到生成随机数的效果。

    所以现在需要做的就是给srand()函数传一个时刻在变化的参数。我们发现电脑上的时间一直在改变,用它作为该函数的参数刚好合适。那么此时又引出了一个时间函数--->time()函数

    可以发现time()函数是一个返回值为time_t类型的参数为指针类型的函数,其作用就是返回系统时间。

    那么time_t类型又是什么类型呢?再次将其转到定义我们可以发现time_t是一个__time64_t类型,而__time64_t又是一个整型。

     所以time()函数返回的是当前程序执行时的时间点与计算机起始时间(1970年1月1日零时零分零秒)之间的差值。将该差值作为srand()函数的参数时需要将其强转成unsigned int类型。此时由于我们只关心time()函数的返回值,而并不在意其参数,所以可以将time()函数的参数设置为一个空指针(NULL)。

    到这里我们便可以调用srand()函数和rand()函数了。

    srand((unsigned int)time(NULL));    //设置随机生成数的开始点
    rand()%100;    //生成随机数

    但是此时如果执行下述代码我们会发现,其实生成的随机数并不是那么随机。

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");
    	printf("**********  0. exit  ***********\n");
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	do{
    		menu();
    		printf("请选择:");
    		scanf("%d", &input);
    		srand((unsigned int)time(NULL));
    		int ret = rand() % 100;
    		switch (input)
    		{
    		case 1:
    			printf("%d\n", ret);
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);
    	system("pause");
    	return 0;
    }

    这是因为每玩一次游戏都会重新设置一次随机生成起点,导致每次生成的起点都很接近。如果在程序执行时只设置一次随机生成起点,此时生成的随机数便会更随机。所以将srand()函数放在do{}while();循环之前便可实现。具体实现代码如下:

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    #include <windows.h>
    #include <time.h>
    //猜数字游戏(0-100)
    void game()
    {
    	int ret = rand()%100;   //rand():返回0到0x7FFF中的整数  
    	int cmp = 0;     //用户猜的数字
    	while (1)
    	{
    		printf("请猜数字:");
    		scanf("%d", &cmp);
    		if (cmp > ret)
    		{
    			printf("猜大了\n");
    		}
    		else if (cmp < ret)
    		{
    			printf("猜小了\n");
    		}
    		else
    		{
    			printf("恭喜你,猜对了\n");
    			break;
    		}
    	}
    }
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");
    	printf("**********  0. exit  ***********\n");
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	srand((unsigned int)time(NULL));
    	do{
    		menu();  //打印菜单
    		printf("请选择:");
    		scanf("%d", &input);
    		switch (input)
    		{
    		case 1:
    			game();   //玩游戏函数
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);   
    	system("pause");
    	return 0;
    }
    

     

    展开全文
  • C语言

    2018-11-13 21:39:19
    ZN 想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 1 到 1000 之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的学生的...
  • C语言猜数字游戏(1-100)

    千次阅读 2019-03-26 00:05:48
    完成1-100之间的猜数字游戏 相关的知识点: 计算机的随机数是通过算法返回一组看起来随机的数列 称为 伪随机数 计算机生成随机数依赖数学变化,需要初始值 初始值就是随机种子 如果初始值是固定的那么生成的数字也就是...
  • C语言练习题

    2019-11-11 23:13:40
    1.猜数字游戏:完成一游戏,随机生成个100以内的整数,让玩家猜这数字,每次输入都会提醒玩家猜大了或是猜小了,直到猜出最终结果. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h...
  • c语言产生随机数函数

    千次阅读 多人点赞 2020-03-21 15:38:17
    rand()函数返回一从0~32767之间的随机整数,为了生成区间 [m,n] 之间的整数,可以用公式 rand()%(n-m+1)+m。 例区间:[100,200],随机整数的计算方法为: rand()%(200-100+1)+100 即rand()%101+100; rand()函数是以...
  • C语言基础题

    2021-04-22 06:56:57
    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的学生的学号。...
  • 难道在C语言中一结构不能包含指向自己的指针吗? . . . . 3 1.7 怎样建立和理解非常复杂的声明?例如定义一包含N 指向返 回指向字符的指针的函数的指针的数组? . . . . . . . . . . . . . . 3 1.8 函数只定义...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一静态(static)函数或变量的所有声明都必须包含static存储类型吗? 6 1.11 extern在函数声明中是什么...
  • C语言 猜数字游戏

    2021-04-17 21:31:23
    规则:给定一个范围如[1,100],系统生成一个范围内随机数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小就提示“猜低了”,如果用户输入的数字比系统生成的数字打就提示“猜高了”,如果用户输入...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    难道在C语言中一结构不能包含指向自己的指针吗? . . . . 3 1.7 怎样建立和理解非常复杂的声明?例如定义一包含N 指向返 回指向字符的指针的函数的指针的数组? . . . . . . . . . . . . . . 3 1.8 函数只定义...
  • 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的学生的学号。...
  • 整数加减法计数器

    千次阅读 2018-02-10 09:37:24
    【功能要求】(1)随机生成加减法混合运算题目,题目中的三个整数100以内,随机生成。(2)要求无论是中间结果,还是最后结果都不得大于100。(3)要求无论是中间结果,还是最后结果都不得为负数。(4)每次练习...
  • 输入格式 一行输入四个整数依次为n,a,b,x,用空格分隔。 输出格式 输出一行包含一个小数位和为x的概率,小数点后保留四位小数 样例输入 2 1 3 4 样例输出0.3333 数据规模和约定 对于50%的数据,n≤5.  ...
  • C语言网——明明的随机数

    千次阅读 2018-07-07 21:01:56
    题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用 计算机生成了N1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的...
  •  明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的学生的学号...
  • 游戏规则为:系统随机生成[1,100]内的整数,玩家需要在六次之内猜出这数字。每猜一次,如果猜对,则提示恭喜并公布数字,否则会提示玩家猜大了或者猜小了,剩余尝试次数随之减一,次数用完,游戏结束! (次数...
  • C语言的科学和艺术.pdf

    热门讨论 2012-01-19 14:09:05
    12.2.1 对一个整数数组排序 342 12.2.2 选择排序算法 343 12.2.3 选择排序效率的评估 346 12.2.4 测试程序的运行时间 347 12.2.5 选择排序的算法分析 347 小结 348 复习题 348 程序设计练习 349 第13章 指针...
  • 输入一个正整数n (1),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。 (25)抓住肇事者 一辆卡车违反交通规则,撞人后逃跑。现场共有三个目击者,但都没有记住车号,...
  • C语言——猜数字游戏(随机数)

    千次阅读 2018-12-08 15:56:23
    2.开始游戏,由系统生成随机数[1-100] 3.玩家输入一数字,系统进行比较,提示玩家高了/低了 4.玩家根据提示循环进行猜测,直到猜中,这局游戏结束 注意: 系统生成随机数,这里我们需要用到函数rand rand函数...
  • 让计算机来随机生成1到100以内的整数,然后让用户来猜这数字是多少,用户每输入一数,就提示输入的数是大了还是小了,直到用户猜中为止,在程序最后还要告诉用户猜了多少次。 解题思路 初始化生成随机数后,...
  • 提示:文章写完后,目录可以自动生成,...提示用户输入一个整数(这里以1-100为例),如果用户输入的数比系统随机产生的数大,则提示用户输入的数值太大,重新输入,反之则提示用户输入的数值太小,重新输入,直到用户
  • 难道在C语言中一结构不能包含指向自己的指针吗? o 2.7 怎样建立和理解非常复杂的声明?例如定义一包含 N 指向返回指向字符的指针的函数的指针的数组? o 2.8 函数只定义了一次, 调用了一次, 但编译器提示...
  • ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N1到1000之间的随机整数(0&lt;N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的...
  •  明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一,把其余相同的数去掉,不同的数对应着不同的学生的学号...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

c语言随机生成100个整数

c语言 订阅