求一个C语言小程序,最好配个说明 谢谢

#include<stdlib.h>#include<stdio.h>#include<math.h>#include<time.h>#definenumOfQuesti... #include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#define numOfQuestions 10
void main()
{
srand(1);
for(int i=0;i<numOfQuestions ;i++)
{
bool add = rand()%2;
char oper = '-';
if(add) oper = '+';
int a = rand()%100;
int b = rand()%100;
if(!add)
{
while(b>a)b = rand()%100;
}
printf("%d %c %d =?", a, oper, b);
int answer = 0;
scanf("%d", &answer);
bool correct = false;
if(add)
{
if(answer == (a + b)) correct = true;
}
else
{
if(answer == (a - b)) correct = true;
}
if(correct)printf("回答正确!\n");
else printf("回答错误!\n");
}
}
也可以就给个帮我解释下。。。。上学期C语言挂了 老师让自己做个小程序 还有10页左右的PPT 。。我不会。。
展开
 我来答
雪5029
2013-04-20 · 超过12用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:30.2万
展开全部
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h> //加载头文件
#define numOfQuestions 10 //申明一个常量numOfQuestions等于10,常量是不可改变的量
void main()
{
srand(1); //srand函数是随机数发生器的初始化函数
for(int i=0;i<numOfQuestions ;i++) //一个从0循环到 10 的循环语句
{
bool add = rand()%2; //rand()生成0~RAND_MAX之间的一个随机数,与2取余得到一个等于0会或者1的正数并将它隐式转换为一个bool姓变量,即true 或者false;

char oper = '-'; //初始化oper的值为减号
if(add) oper = '+'; //判断add是否为真,当add为真的时候,oper代表加法运算。
int a = rand()%100; //随机生成一个0-100以内的正数,赋值给a
int b = rand()%100; //随机生成一个0-100以内的正数,赋值给b
if(!add)
{
while(b>a)b = rand()%100;
} //判断现在是否要做减法运算,如果是比较a和b的大小,如果b大于a,重新生成b
printf("%d %c %d =?", a, oper, b); //输出运算式子
int answer = 0;
scanf("%d", &answer); //回答运算式的结果
bool correct = false; //定义一个检查变量
if(add)
{
if(answer == (a + b)) correct = true; //如果是加法运算,判断你的结果是否正确
}
else
{
if(answer == (a - b)) correct = true; //如果是减法运算,判断你的结果是否正确
}
if(correct)printf("回答正确!\n");
else printf("回答错误!\n");
}
}

//所以,整个程序就是一个检查100以内加减法的正确性的功能。
//系统随机出题,用户回答,系统判断回答题目的正确与否。
班丘湘灵0f3
2013-04-20 · 超过23用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:63.2万
展开全部
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#define numOfQuestions 10
void main()
{
srand(1);
for(int i=0;i<numOfQuestions ;i++)
{
bool add = rand()%2; /////// 得到随机值放入add,范围0 , 1
char oper = '-';
if(add) oper = '+'; ////////如果add为0,oper为减号,否则oper为加号
int a = rand()%100; ///////得到随机值放入a,范围0~100
int b = rand()%100; ///////得到随机值放入b,范围0~100
if(!add)
{
while(b>a)b = rand()%100; //////如果是减号,保证b<a,如果b>a重新再得随机值
}
printf("%d %c %d =?", a, oper, b); //////打印
int answer = 0;
scanf("%d", &answer); //////输入答案
bool correct = false;
if(add)
{
if(answer == (a + b)) correct = true; //判断答案是否正确
}
else
{
if(answer == (a - b)) correct = true;
}
if(correct)printf("回答正确!\n");
else printf("回答错误!\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式