本文目录一览:
- 1、用C语言实现一个小学生口算及自测系统,实现自动出题,根据答题情况评分并记载入档案,并能根据成绩进行排
- 2、准备考c语言计算机二级,用什么软件刷题好
- 3、用C语言写一个 小学生口算出题系统
- 4、利用C语言随机产生20道口算题?
用C语言实现一个小学生口算及自测系统,实现自动出题,根据答题情况评分并记载入档案,并能根据成绩进行排
#include stdio.h
#include stdlib.h
#include time.h
//产生 [a,b] 区间的随机数
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可
#define GEN_VALUE() RANDOM(1, 20)
int main()
{
int v1, v2, t, r, a;
char op, ops[] = { '+', '-', '*', '/' };
srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子
printf( "请答题 Ctrl+C 结束...\n" );
while(1)
{
v1 = GEN_VALUE(); //随机生成第1个算数
v2 = GEN_VALUE(); //随机生成第2个算数
op = ops[ RANDOM(0,3) ]; //随机决定是哪个运算符
//保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可
if( v1v2 )
{
t = v1;
v1 = v2;
v2 = t;
}
//如果运算符为除法,且v1不能被v2整除则重新生成题目
if( op=='/' v1%v2!=0 )
continue;
//计算正确的结果
switch(op)
{
case '+': a=(float)v1+(float)v2; break;
case '-': a=(float)v1-(float)v2; break;
case '*': a=(float)v1*(float)v2; break;
case '/': a=(float)v1/(float)v2; break;
}
//输出算式
printf( "%d%c%d=", v1, op, v2 );
//等待输入结果
scanf( "%d", r );
if( r == a )
printf( " 答对喽!\n\n" );
else
printf( " 答错喽!正确答案是:%d\n\n", a );
}
}
准备考c语言计算机二级,用什么软件刷题好
计算机二级,用什么软件刷题好:
首先我们先看下软件下图1、2展示,最后是软件!
1、全国计算机等级考试超级模拟软件。
汇聚了多年开发全国计算机等级考试模拟软件的丰富经验,并综合有经验的命题专家、教授和全国各地考点一线教师的建议基础上研制而成。本套软件采用模拟考试形式,以大量的习题练习,强化考生的应考能力。
2、捷成全国计算机等级考试练习系统。
上机考试系统提供了历届考试题100套,并附有试题分析和参考答案,可以帮助考生熟悉考试模式,提高应试能力,测试实际操作和应变能力,自己评定成绩,对正式考试时能否通过进行初步的估计。
3、未来教育2017二级msoffice模拟软件
以其模式的高专业度,题库权威度而闻名业界,它聚合历年真题加以分析从而提出权威预测,效果非常不错。
用C语言写一个 小学生口算出题系统
一、设计的流程:
1. 主界面设计,选择练习或测试,按ESC结束程序。
2. 题型选择界面设计,选择加、减、乘、除或混合运算,按ESC返回主界面。
3. 系统随机出题,运算数及结果均在100以内,乘、除法应能整除,显示算式。
4. 练习时,系统随机出题,键入结果,正确和错误均有提示,出错时允许再输入,最多三次机会,若还不正确,给出答案。继续出题,按ESC,显示总题数,正确数和正确率。
5. 测试时,系统自动出10道题,每题只给一次机会,每题10分,统计得分。结束后,给出总分,显示各题的对错信息,错误的给出答案。中间按ESC键结束。显示已作题的对错信息,错误的给出答案,不显示得分,按任意键返回题型选择界面。
相关知识:按键操作、数组、指针、结构体等
二、例程:
#includestdlib.h
#includestdio.h
#includeconio.h
#includetime.h
void main()
{
int a[10],b[10],d[10],c[10],num=0,result,add=0;
float val;
char fa[5]={'+','-','*','/'};
/* 出10道题 */
while(1)
{
srand((unsigned)time(NULL));
d[num]=abs(rand())%4;/* 保证出题算法的随机性 */
while(1) /* 保证出题成功 */
{
c[num]=-1;
a[num]=abs(rand())%100;
b[num]=abs(rand())%100;
if(d[num]==0) c[num]=a[num]+b[num];
else if(d[num]==1) c[num]=a[num]-b[num];
else if(d[num]==2) c[num]=a[num]*b[num];
else if(d[num]==3)
{
if(b[num]0)val=1.0*a[num]/b[num];
else val=-1;
}
if(d[num]=2)
{
if(c[num]=0 c[num]=100) break;
}
else
{
if(a[num]==int(val)*b[num] val=0)
{c[num]=val; break;}
}
}
num++;
if(num==10) break;
}
/* 回答 */
num=0;
while(1)
{
printf("%d %c %d= ",a[num],fa[d[num]],b[num]);
scanf("%d",result);
if(result==c[num])
{
printf("回答正确!\n");
add+=10;
}
else
printf("错误,正确答案: %d\n",c[num]);
num++;
if(num==10) break;
}
printf("\n得分:%d\n",add);
getch();
}
利用C语言随机产生20道口算题?
解题思路:
1、编写测试题,且为30道,就要用到循环函数,因此想到用for()函数。
2、随机产生两个数,就想到用rand()函数。
代码如下:#includeiostream.h
#includestdlib.h
#includetime.h
int main()
{
int x,y,z,t;
srand(time(NULL));
cout"小学二年级四则运算测试题"endl;
for(int i=0;i30;i++)
{
x=rand()%100;
y=rand()%100;
z=rand()%4;
switch(z)
{
case 0:
coutx"+"y"="endl;
break;
case 1:
if(xy)
{
t=x;
x=y;
y=t;
}
coutx"-"y"="endl;
break;
case 2:
coutx"*"y"="endl;
break;
case 3:
if(y!=0)
{
coutx"/"y"="endl;
}
else
{
i=i-1;
}
break;
default:
cout"超出测试范围"endl;
break;
}
}
cout"恭喜你已经完成了30道数学测试题"endl;
return 0;
}