永发信息网

为什么我用的随即数的话,出来的会是11111,,2222,3333,44444,1111.。。

答案:2  悬赏:0  手机版
解决时间 2021-12-01 03:30
  • 提问者网友:抽煙菂渘情少年
  • 2021-11-30 12:47
为什么我用的随即数的话,出来的会是11111,,2222,3333,44444,1111.。。
最佳答案
  • 五星知识达人网友:神的生死簿
  • 2021-11-30 14:11
#include
#include

int g_iFirstValue = 0;
int g_iSecondValue = 0;
int g_iOperateFlag = 1;
int g_iResultValue = 0;

int g_iSumSubCount = 0;
int g_iOkSubCount = 0;

void CreateSubject()
{
g_iFirstValue = rand();
g_iSecondValue = rand();
g_iOperateFlag = (rand() % 4) + 1;

if (1 == g_iOperateFlag) //+
{
g_iResultValue = g_iFirstValue + g_iSecondValue;
}
else if (2 == g_iOperateFlag)//-
{
g_iResultValue = g_iFirstValue - g_iSecondValue;
}
else if (3 == g_iOperateFlag)//*
{
g_iResultValue = g_iFirstValue * g_iSecondValue;
}
else // /
{
g_iResultValue = g_iFirstValue / g_iSecondValue;
}

g_iSumSubCount++;
}

void ExportSubject()
{
char o = '+';
if (1 == g_iOperateFlag) //+
{
o = '+';
}
else if (2 == g_iOperateFlag)//-
{
o = '-';
}
else if (3 == g_iOperateFlag)//*
{
o = '*';
}
else // /
{
o = '\\';
}

printf(" %d %c %d= ?\n", g_iFirstValue, o, g_iSecondValue);
}
void ExportHintTop()
{
printf("算数练习\n");
printf("1:练习\n");
printf("2:测验\n");
printf("3:设置\n");
printf("4:查看测验成绩\n");
printf("0:退出\n");
}
bool CheckAnswer(int iResult)
{
if (iResult == g_iResultValue)
{
g_iOkSubCount++;
return true;
}
else
{
return false;
}
}
void ExportHintAnswer(bool bOk)
{
char re[10] = {0};
if (true == bOk)
{
sprintf(re,"right");
}
{
sprintf(re,"wrong");
}
printf("%s 答案: %d, 总题数: %d, 正确数: %d 正确率:%.2f\n ",re, g_iResultValue, g_iSumSubCount,g_iOkSubCount, (g_iSumSubCount > 0) ? ( (float) g_iOkSubCount / g_iSumSubCount) : 0);
}
void Exercise()
{
char result[100] = {0};
CreateSubject();
ExportSubject();
gets(result);
fflush(stdin);
int iResult = atoi(result);
ExportHintAnswer(CheckAnswer(iResult));
}
void SelectSection()
{
printf("输入章节标号:");
char o = getc(stdin);
fflush(stdin);
if ('1' == o)
{
Exercise();
}
else if ('2' == o)
{

}
else if ('3' == o)
{

}
else if ('4' == o)
{

}
else if('0' == o)
{
exit(0);
}
}
void main()
{
ExportHintTop();
while (true)
{
SelectSection();
}
}追问运行不了。。。错误很多
全部回答
  • 1楼网友:怙棘
  • 2021-11-30 14:16
srand(time(NULL));
a=rand()%4
你这只是0~3之间的数,怎么会是
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯