VS2017 C语言随机数问题
#include "pch.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
struct date
{
int year, month, day;
};
int main()
{
int i1, i2, i3, a, b, c = 0;
int ping[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }, run[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
int s1[3][N] = {}, s2[12][N] = {}, s3[31][N] = {};
struct date s[N];
srand(time(NULL));
for (i1 = 0; i1 < N; i1++)
{
b = 0;
s[i1].year = rand() % 3 + 1999;
if (s[i1].year == 2000)
{
a = rand() % 366 + 1;
while (1)
{
if (a <= run[b])
break;
b++;
a -= run[b];
}
s[i1].month = b + 1;
s[i1].day = a;
}
else
{
a = rand() % 365 + 1;
while (1)
{
if (a <= ping[b])
break;
b++;
a -= run[b];
}
s[i1].month = b + 1;
s[i1].day = a;
}
}
for (i2 = 0; i2 < N; i2++)
{
s1[s[i2].year - 1999][i2] = 1;
s2[s[i2].month - 1][i2] = 1;
for (i3 = 0; i3 < i2; i3++)
{
if (s3[s[i2].day - 1][i3] == 1)
{
if (s1[s[i2].year - 1999][i3] == 1 && s2[s[i2].month - 1][i3] == 1)
c++;
}
}
s3[s[i2].day - 1][i2] = 1;
}
printf("%d", c);
return 0;
}
先随机生成N个出生年月日信息,再进行判断有多少对生日相同的人。
问题是有时候能成功运行有时候不能,调试发现生成了值为1的year。大神看看这是怎么回事?

...全文
相关推荐
C语言简易版小游戏【flappy bird】(VS2017)
C语言简易版小游戏【flappy bird】,新手练手绝佳小程序,调试通过没有问题!
VS2017平台下最简洁的基于C语言开发的串口发送程序
VS2017平台下最简洁的基于C语言开发的串口发送程序测试代码,修改简单灵活,方便用于各种串口调试。VS2017平台下最简洁的基于C语言开发的串口发送程序测试代码,修改简单灵活,方便用于各种串口调试。
VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码
VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。
vs2017离线安装并且安装包不占用C盘空间
VS2017在下载好安装程序安装的时候,会根据你选择的功能模块来下载所需要的安装程序,而这些安装程序的下载位置并不会让你选择,而是直接放在 C:\ProgramData\Microsoft\VisualStudio\Packages目录下。这些安装包占用了大量的C盘空间,如果碰到是小容量SSD,就会很心疼吧。
vs2017无法使用MFC添加类的问题
解决了vs2017无法使用MFC添加类的问题,包含详细过程.


