如何让100以内的随机减法题不出现小数减大数的问题。

qdtad 2010-10-04 12:37:47
如题:怎样做才能让随机出的题不出现小数减去大数的问题发生?
望能详细一点!!
...全文
232 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dalmeeme 2010-10-04
  • 打赏
  • 举报
回复
把两个变量的值交换一下,比如a=26,b=79,if(a-b<0){temp=a;a=b;b=temp;}
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
Random rand = new Random(Guid.NewGuid().GetHashCode());
int i=0;
for(int i=1;i<=10;i++)
{
Label l=this.Controls["label"+i] as Label;
i=rand .Next(1,100);
l.Text = String.Format("{0}-{1}=",
i,rand.Next(i,100));
}
ZengHD 2010-10-04
  • 打赏
  • 举报
回复
        private void button1_Click(object sender, EventArgs e)
{
Random r = new Random(Guid.NewGuid().GetHashCode());
int iOne = 0,iTwo=0;
for (int i = 0; i < 10000; i++)
{
iOne = r.Next(1, 100);
iTwo = r.Next(0, iOne);
listBox1.Items.Add(iOne.ToString() + "-" + iTwo.ToString() + "=" + (iOne-iTwo).ToString());
}
}
qdtad 2010-10-04
  • 打赏
  • 举报
回复
比如:26-79的,不要出现这种。
只要:98-26这种的
KeepSayingNo 2010-10-04
  • 打赏
  • 举报
回复
比如你生成了两个你需要范围内的随机数a和b,那么就可以采用下述方法获取结果
int result=a-b>=0?a-b:b-a
msmvc 2010-10-04
  • 打赏
  • 举报
回复
我觉得10楼的作法好一些,用.NET内置的函数,取得两个之中大的减去两个之中小的

或者,自己比较一下用大的减小的,
wanghui0380 2010-10-04
  • 打赏
  • 举报
回复
折半即可

被减数从1-50 之间取

减数从 被减数-100之间取
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
都用rand.Next(1,100);
就用System.Math.Max(i,j)
System.Math.Min(i,j)
兔子-顾问 2010-10-04
  • 打赏
  • 举报
回复
Randomize rand = new Randomize(Environment.TickCount);
public string GetOne()
{
int a = rand.Next(1,100);
int b = rand.Next(1,100);
return Math.Max(a,b).ToString()+"-"+Math.Min(a,b).ToString();
}
Galekand 2010-10-04
  • 打赏
  • 举报
回复
定义个布尔变量,然后用循环判断,如果生成的随机数大的放在前面,小的放在后面,然后把得到的这两个数进行你想要的操作就行了。(我这个是在控制台写的,但是都差不多,希望对楼主有用!)
Random rand = new Random();
int a=0;
int b=0;
bool compareNumber=false;
while(compareNumber==false)
{
a=rand.Next(1,100);
b=rand.Next(1,100);
if(a<b)
{
int temp=0;
temp=a;
a=b;
b=temp;
}
else
compareNumber=true;
}

qdtad 2010-10-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dalmeeme 的回复:]
把两个变量的值交换一下,比如a=26,b=79,if(a-b<0){temp=a;a=b;b=temp;}
[/Quote]
temp 是哪里出来的
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
int i=0;
i=rand .Next(1,100);
j=rand.Next(i,100);
j-i
qdtad 2010-10-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
Random rand = new Random(Guid.NewGuid().GetHashCode());
int i=0;
for(int i=1;i<=10;i++)
{
Label l=this.Controls["label"+i] as Label;
i=rand .Next(1,100);
l.Text = String.Format("{0}-{1}=",
……
[/Quote]
大哥 ,这个貌似不能用了,麻烦你再好好看一下。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧