小编Chr*_*s B的帖子

具有指定比例辅音的C#随机字母发生器:元音

我需要创建代码将50个随机字母分散到控制台中(这是一个"蛇"游戏); 那部分,我没有问题.我使用这段代码来生成字母(一旦我知道如何解决问题,我将"处理它们分散在控制台周围"部分)

        Random rand = new Random();
        int number = rand.Next(0, 26);
        char letter = (char)('a' + number);
Run Code Online (Sandbox Code Playgroud)

它生成随机字母就好了,但对于这个问题的说明指定辅音元音的比例必须是4:1,和我不知道如何使这部分发生.

c# string random console

3
推荐指数
1
解决办法
2598
查看次数

在C中进行基本检查时出现奇怪的数学错误

对于一个简单的程序,分配是创建一个接受十位数电话号码的程序,然后将其读回给用户.需要进行控制以确保:

  1. 第一个数字不是0.

  2. 输入的数字是十个数字.

错误检查似乎很简单; 我想使用while循环来确保数字的范围在1000000000和9999999999之间可以解决,并且根据独立的计算,它似乎应该.

while ((MDN - valueCheck < 0) || (MDN > 9999999999)) {
  printf("Entered number is not ten digits. Please re-enter.\n");
  scanf("%d", &MDN);
}
Run Code Online (Sandbox Code Playgroud)

这两个MDNvalueChecklong long类型变量(这样的范围内可以走过去2,147,483,647; IIRC很长很长为64位),但他们似乎仍然被列为32位整数,如进入2147483647出来就好了(或者更低的电话号码作品同样),但输入2,147,483,648(或以上任何内容)会使其显示为-2147483647.

与上述相关,输入一个更高的数字,不仅值环绕32位整数的范围,而且printf循环后语句打印的电话号码总是等于输入的数字减去两倍的限制32位整数.

是否有任何简单的方法使程序实际工作在64位数字,就像我想要的那样?如果我可以使数学正常工作,该算法似乎很可靠.

c

1
推荐指数
1
解决办法
158
查看次数

标签 统计

c ×1

c# ×1

console ×1

random ×1

string ×1