用c语言编写一个小学生算数练习程序

作者&投稿:郁急 (若有异议请与网页底部的电邮联系)
用C语言写一个 小学生口算出题系统~

一、设计的流程:
1. 主界面设计,选择练习或测试,按ESC结束程序。 2. 题型选择界面设计,选择加、减、乘、除或混合运算,按ESC返回主界面。 3. 系统随机出题,运算数及结果均在100以内,乘、除法应能整除,显示算式。 4. 练习时,系统随机出题,键入结果,正确和错误均有提示,出错时允许再输入,最多三次机会,若还不正确,给出答案。继续出题,按ESC,显示总题数,正确数和正确率。 5. 测试时,系统自动出10道题,每题只给一次机会,每题10分,统计得分。结束后,给出总分,显示各题的对错信息,错误的给出答案。中间按ESC键结束。显示已作题的对错信息,错误的给出答案,不显示得分,按任意键返回题型选择界面。 相关知识:按键操作、数组、指针、结构体等
二、例程:
#include#include#include#includevoid 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]=0 && c[num]=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("回答正确!
"); add+=10; } else printf("错误,正确答案: %d
",c[num]); num++; if(num==10) break; } printf("
得分:%d
",add); getch();}

#include
#include
#include
int yunsuan(int M,int NUM)
{
int m=1,n=0,a,b,daan;
while(1)
{
srand(time(0));
a=rand()%M;
b=rand()%M;
switch(1+rand()%2)
{
case 1: //加
{
printf("",m);
printf("%4d+%4d=",a,b);
scanf("%d",&daan);
if(daan==(a+b))
n++;
else
printf("Fault!
");
m++;
break;
}
default: //减
{
if(a>=b)
{
printf("",m);
printf("%4d-%4d=",a,b);
scanf("%d",&daan);
if(daan==(a-b))
n++;
else
printf("Fault!
");
m++;
break;
}
else
{
printf("",m);
printf("%4d-%4d=",b,a);
scanf("%d",&daan);
if(daan==(b-a))
n++;
else
printf("Fault!
");
m++;
break;
}
}
}
if(m == NUM+1)
break;
}
return n;
}

int main()
{
int M,p;
float right;
char o;
int num; //题目的个数。
while(1)
{
printf(" 欢迎进入小学生四则运算训练营

1.10以内的四则运算
0.退出

");
printf("请选择功能号(1/0):");
scanf("%d",&p);
getchar();
if(p==1)
M=10;
if(p==0)
exit(0);
printf("请选择的是%d以内的四则运算个数:
",M);
scanf("%d",&num);
int temp = yunsuan(M,num);
right= temp/(num*1.0);
printf("正确率:%.2f%%",right*100); //正确率。
getchar(); //吸收前面的回车键。
printf("继续吗?(y/n)");
scanf("%c",&o);
if(o == 'y' || o == 'Y')
{
system("pause");
}
else
{
break;
}
}
getchar();
return 0;
}

只求速速速速速速速速速速速速速速速速速速速速采纳!!!

#include <stdio.h>
#include <time.h>
int main()
{
int a,i,n,o,x,y,z;
printf("请输入题目数:");
scanf("%d",&n);
while(n--)
{
srand((unsigned)time(NULL));
x=rand()%10+1;
y=rand()%10+1;
o=rand()%4;
switch(o)
{
case 0:
printf("%d + %d = ",x,y);
a=x+y;
break;
case 1:
printf("%d - %d = ",x,y);
a=x-y;
break;
case 2:
printf("%d * %d = ",x,y);
a=x*y;
break;
case 3:
printf("%d / %d = ",x,y);
a=x/y;
break;
}
scanf("%d",&z);
i=2;
while(z!=a&&i--)
{
printf("Not Correct! Try again!\n");
scanf("%d",&z);
}
if(z==a)
printf("Right!\n");
}
return 0;
}

这个问题竟然到百度提问,这样的程序是要花钱买的!

写起来挺麻烦,却没分....够呛有大神来帮你

这种程序连钱都不给人,有谁帮你回答。


C语言 制作一个可供小学数学运算程序
先,打出c语言开始的那几行代码:要进行两个间数字的计算首先要输入第一个数字,运算符还有第二个数字:接着,需要对运算符进行判断,这里利用if和else if进行判断,运算结果保留两位小数:这样就可以进行简单的两位数之间的计算了 这样程序只能执行一次,如果想让程序进行多次计算只需要嵌套一层循环即可。

小学算术系统加减法c语言
include<stdlib.h> int main(){ int a,b;char k;while(true){ printf("提示:输入a为加法,输入c为减法,输入c为退出该算数系统。\\n\\n");printf("请选择进行加法或减法:");scanf("%c",&k);if(k=='a'){ printf("请输入要进行加法运算的数字,例如5+3\\n");scanf("%d+%d",&a,...

C语言设计小学生心算系统
int pre,lat,ans,tot(0),i;char c;printf(" 欢迎使用小学生心算系统(任意键进入)\\n\\n");getch();do { printf(" 请选择四则运算测试项:\\n 1.加法\\n 2.减法\\n 3.乘法\\n 4.除法\\n 5.退出\\n 请输入:");c=getch();printf("%c\\n",c);tot=0;switch(c...

帮忙设计个小学生四则运算C语言程序
这个很容易的输入两个数字,然后呢,分别调用四则运算四个函数,再把运算结果赋值给一个结果变量。

c语言 设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完...
int m=1,n=0,a,b,daan;while(1) \/\/这里得解决\/的情况,因为这里保证是整数,所以一些条件要满足才能除,若不成立,改为+得了。{ srand(time(0));a=rand()%M;b=rand()%M;switch(1+rand()%4){ case 1:{ printf("<%d>",m);printf("%4d+%4d=",a,b);scanf("%d",&daan);i...

用C语言制作一个小学算术运算测试
void test(){ int algtype = 0; \/*计算类型 *\/ int i, \/*for的循环控制变量 *\/ points = 0, \/*成绩 *\/ num1[10], num2[10], \/*两个操作数 *\/ result[10], \/*程序的计算结果 *\/ answer = 0; \/*学生回答 *\/ char opt[10];printf("现在...

C语言课程设计 小学生四则运算练习系统 源程序
exp[t]='#';t++; \/*用#标示一个数值串结束*\/ } ch=str[i];i++;} while (opr.top!=-1) \/*此时str扫描完毕,栈不空时循环*\/ { exp[t]=opr.data[opr.top];t++;opr.top--;} exp[t]='\\0'; \/*给exp表达式添加结束标示*\/ } float compvalue(char exp[]) \/*...

用C语言编写小学运算测试程序(要求完成10以内的加减运算,能根据用户输 ...
while(1){ printf(" 欢迎进入小学生四则运算训练营\\n\\n1.10以内的四则运算\\n0.退出\\n\\n");printf("请选择功能号(1\/0):");scanf("%d",&p);getchar();if(p==1)M=10;if(p==0)exit(0);printf("请选择的是%d以内的四则运算个数:\\n",M);scanf("%d",&num);int temp =...

用C语言实现一个小学生口算及自测系统,实现自动出题,根据答题情况评分并...
printf( "请答题 Ctrl+C 结束...\\n" );while(1){ v1 = GEN_VALUE(); \/\/随机生成第1个算数 v2 = GEN_VALUE(); \/\/随机生成第2个算数 op = ops[ RANDOM(0,3) ]; \/\/随机决定是哪个运算符 \/\/保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可 if( v1<v2 ){ t = ...

用C语言编写一个简单的"小学数学测试系统"
op=random(4)+1; \/* 产生一个1-4之间的随机数,用于表示+ ,- , * , \/ *\/ switch(op) \/* 判断运算符是什么 *\/ { case 1: \/* 加 的情况 *\/ { Tha=random(10); \/* 产生一个0-9之间的随机数 放在第一个运算数 Tha中 *\/ Thb=random(10); \/* 产生一个0-9之间的随机数 放在第二...

雅江县19733802157: 用C语言制作一个小学算术运算测试 -
望炒安利: #include <stdio.h>#include <stdlib.h>#define ExerNumber 10 /*每轮题目数 */ void test() { int algtype = 0; /*计算类型 */ int i, /*for的循环控制变量 */ points = 0, /*成绩 */ num1[10], num2[10], /*两个操作数 */ result[10], /*程序的计算结果 */ answer ...

雅江县19733802157: C语言 制作一个可供小学数学运算程序 -
望炒安利: 先,打出c语言开始的那几行代码:要进行两个间数字的计算首先要输入第一个数字,运算符还有第二个数字:接着,需要对运算符进行判断,这里利用if和else if进行判断,运算结果保留两位小数:这样就可以进行简单的两位数之间的计算了 这样程序只能执行一次,如果想让程序进行多次计算只需要嵌套一层循环即可.

雅江县19733802157: 用c语言给小学生出加法考试题 编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,程序1 通过输入两个加数给学生出一道加法... -
望炒安利:[答案] #include "time.h" #include "stdio.h" #include "stdlib.h" int main() { int a,b,c,d; srand(time(0)) ; while(1) { a = rand()%100; b=rand()%100; printf("%d+%d=", a,b); scanf("%d", &d); if(d if(d==a+b)printf("Right!"); else printf("Error!"); } return ...

雅江县19733802157: 请问如何用C语言制作一个小学生算数自测系统 -
望炒安利: #include "time.h"#include "stdio.h"#include "stdlib.h" int main() { int a,b,c,d; srand(time(0)) ; while(1) { a = rand()%100; b=rand()%100; printf("%d+%d=", a,b); scanf("%d", &d); if(d < 0) return 0; if(d==a+b)printf("Right!"); else printf("Error!"); } return 0; }

雅江县19733802157: C语言设计小学算术运算测试. -
望炒安利: Please input question total:478 - 70 = 8 Right!59 - 34 = 25 Right!82 + 92 = 11 Wrongthe answer is [174].52 + 53 = 105 Right!there are 4 Questions,Right 3,Wrong 1.Score is 75.0.Press any key to continue#include <stdio.h>#include <stdlib.h>#...

雅江县19733802157: C语言小学算术程序 急. -
望炒安利: WinTC1.91+WinXP调试成功 VC6+WinXP调试成功 #include <stdio.h> #include <conio.h> #include <process.h> #include <stdlib.h> #include <time.h> int menu() { int choice; printf("1. 测试\n"); printf("2. 练习\n"); printf("3. 退出\n"); ...

雅江县19733802157: C语言:给小学生编写练习20以内加、减法计算的程序.
望炒安利: 很显眼的一个错误 int grade(int daan,int answer) int edd(int counter,int fenshu,int y) 你声明这两函数的候是没有形参的.,但你后来怎么又有形参了.既然有形参,而你调用的时候,也没有放入对应的实参.

雅江县19733802157: 用C语言写一个 小学生口算出题系统 -
望炒安利: 一、设计的流程:1. 主界面设计,选择练习或测试,按ESC结束程序. 2. 题型选择界面设计,选择加、减、乘、除或混合运算,按ESC返回主界面. 3. 系统随机出题,运算数及结果均在100以内,乘、除法应能整除,显示算式. 4. 练习时,系...

雅江县19733802157: 求解一个C语言程序!!!小学生计算器!! -
望炒安利: #include#include#include void main() {int GetNum(void); int GetNum_1(void); char GetOp(void); int FirstNum,SecondNum,i,mark=0,n = 0; int result,stu_result; char Oprater; for(i=0;i { n += 1; FirstNum = GetNum(); Oprater = GetOp(); SecondNum = ...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网