
变量定义了但是没有初始化(赋值),这样变量地址产生的是一个随机数,这个数不一定是0。目测是数码管显示的程序,不知道你子程序是怎样写的,如果子程序有对变量赋初值,变量声明可以不用初始化,反之就下面这样改吧。与顺序无关。
uint i=0,y=0,k=0;
#include <stdlibh>
#include <iostreamh>
#include <conioh>
#include <timeh>
int main()
{
int a = 0;
int b = 0;
int mode = 0;//0:加 1:减 2:乘 3:除
int c = 0;
int result = 0;
int score = 0;
int i = 0;
srand((unsigned)time( NULL ) ); //初始化随机数发生器,使得每次运行生成的随机数不同
for(i=0;i<10;i++) //做十题
{
a = rand() % 10; //生成一个0~9之间的随机数
b = rand() % 10; //生成一个0~9之间的随机数
mode = rand() % 4; //生成一个0~3之间的随机数,代表运算符
printf("%d", a); //打印算式
switch(mode) //确定运算符
{
case 0:
printf("+ ");
result= a + b; //选择了+运算的正确答案
break;
case 1:
printf("- ");
result= a - b; //选择了-运算的正确答案
break;
case 2:
printf(" ");
result= a b; //选择了运算的正确答案
break;
case 3:
printf("/ ");
result= a / b; //选择了/运算的正确答案
break;
default:
printf("somethingis wrong!\n");
break;
}
printf("%d = ", b);
scanf("%d", &c); //输入答案
if(c == result) //与正确答案一致
{
score+= 10; //加分
printf("Right\n\n");
}
else
{
printf("Wrong\n\n"); //错开
}
}
printf("Yourscore is: %d\n\n\n", score);//显示十道题的得分
return1;
}
1、@echo off
rem 用Random产生1到10之间的一个随机数
set num=%random%
set /a num=num%%10+1
echo %num%
1到1000:
2、rNumberNext(1,1000);
Random rNumber = new Random();//实例化一个随机数专对象
rNumberNext(1,10);//产生一个1到10之间属的任意一个数
rNumberNext(1,1000);//产生一个1到1000之间的任意一个数
扩展资料:
在真正关键性的应用中,比如在密码学中,人们一般使用真正的随机数。
C语言、C++、C#、Java、Matlab、PHP、C51等程序语言和软件中都有对应的随机数生成函数。
统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。
-随机数
对于随机数的解释是这样的:随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。
1电脑中的随机数
电脑中有随机数发生器,但是生成的并不是绝对的随机数而是伪随机数,因为电脑随机数的生成是由算法支持的,所以生成的数字只是算法运算的结果。
2随机数的应用
在密码学中人么会利用随机数对需要加密的明文进行加密,这样避免了人工密匙的高重复性,以及易破解性。
3生活中的随机数
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。
综上所述:随机数可以通俗的理解为产生的不规律的,我们无法预测的数字。但是绝对的随机数在自然中是不存在的。
是这样的//你要求写代码 但是5分未免太低 我给你个思路行吧,,要学会擅长独立思考
首先比大小很简单
假设你的值是500个数组
int main(){
int temp[500];//这里面是已经被赋值过得 随机数
unsigned int num;
unsigned long add=0;
//装包
struct {
int weizhi;//位置
int zhi;//值
}max;//最大值包
struct {
int weizhi;//位置
int zhi;//值
}min;//最小值包
maxzhi=0;
minzhi=65535;
for(num=500; num>0; num-- )
{
if(temp[num]>maxzhi)//如果缓冲流中的值大于max的值(max初始是0)
{
maxzhi=temp[num];//注入最大值到包内
maxweizhi=num;//将位置注入到包内
}
if(temp[num]<minzhi)//如果缓冲流中的值大于min的值(min初始是65535)
{
minzhi=temp[num];//注入最小值到包内
minweizhi=num;//将位置注入到包内
}
}
for( num=500; num>0; num-- )
{
add+=temp[num];
}
//求出总和
add-=((maxzhi)+(minzhi));//减去最大最小数据
add/=500-2;//(注意这里的n是你一共有多少个元素 例如原本有10个元素,去掉最高数字//////
//和最低数字后 他们的数量也要变 不然他们都是0,也会带入进去运算的 这样平均值会降低,so你
//懂的)减去2是减去刚刚的去掉的数量
return 0;
}
以上程序已通过编译测试可放心使用
绝对原创
我是给你提供思路 结果还是帮你写出来了 自己改改吧,要是觉得满意加点分呗 大冬天的写代码不容易 手好冷
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)