10以内的加减乘除出

  • 小编将会使用C语言编写
    • 背景
    • 问题分析
    • 功能实现
    • 结果实现呈现
    • 代码实现
    • 总结

小编将会使用C语言编写

背景

编写一个帮助小学生练习数学的程序,帮助小学生练习 100 以内的四种数学运算:加、减、乘、除。

问题分析

a) 程序应先询问用户的 ID 号(ID 号包括两个大写字母和 4 位数字),例如:
请输入用户 ID 号 :AB1234
程序应对输入的 ID 号验证,符合 ID 号要求的格式,然后程序提示三种选择:
(1)开始测试
(2)检查分数
(3)退出
b) 测试:该程序将给出 10 道数学题,例如:
12 * 3 =36
48 + 32 =80
56 / 28 =2

功能实现

i) 学生将依次回答每一个问题(在等于号后面给出答案),然后给出下一道题。
ii) 试题应包含四种数学运算:加、减、乘、除,它们是随机产生的。相邻的问题应该是不同的操作,每个操作必须至少出现一次。
iii) 为每道题随机生成数字,但必须确保参与运算的数字和结果都小于 100 且大于零的整数。
iv) 十道题做完后,记录学生完成这十道题所用的时间。
v) 给每个学生一个分数。将该学生的 ID、成绩和使用时间保存到一个名为 record.txt 的文件中。
vi) 在屏幕上输出以下信息:
问题 | 正确答案 | 你的答案
c) 成绩检查:从文件“record.txt”中列出该学生的所有历史成绩。例如:
你以前的记录是 :
AB1234 80 150 秒
AB1234 50 182 秒
AB1234 90 98 秒

结果实现呈现




代码实现

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
//1.测试功能的实现
int test(){int x=0;int begin, end;begin = time(NULL);for(int i=1;i<=10;i++){srand((int)time(0));int one=rand()%11;int two=rand()%11;int sign=rand()%3;int three;int num;printf("第%d道题:",i);switch(sign){//加法 case 0:while(floor((one+two) + 0.5) != (one+two)){two=rand()%11;one=rand()%11;}three=one+two;printf("%d + %d =",one,two);scanf("%d",&num);if(three==num){x=x+1;printf("\t\t答对了!!!\n");}else{printf("\t\t!!请认真对考试!!\n");} break;//-减法 case 1:while(floor((one-two) + 0.5) != (one-two)){two=rand()%11;one=rand()%11;}three=one-two;printf("%d - %d =",one,two);scanf("%d",&num);if(three==num){x=x+1;printf("\t\t答对了!!!\n");}else{printf("\t\t!!请认真对考试!!\n");}break;//*乘法 case 2:while(floor((one*two) + 0.5) != (one*two)){two=rand()%11;one=rand()%11;}three=one*two;printf("%d * %d =",one,two);scanf("%d",&num);if(three==num){x=x+1;printf("\t\t答对了!!!\n");}else{printf("\t\t!!请认真对考试!!\n");}break;//除法case 3:while(floor((one/two) + 0.5) != (one/two)){two=rand()%11;one=rand()%11;}three=one/two;printf("%d / %d =",one,two);scanf("%d",&num);if(three==num){x=x+1;printf("\t\t答对了!!!\n");}else{printf("\t\t!!请认真对考试!!\n");}break;}}end = time(NULL);int out= end - begin;printf("*****————*******\n");printf("用时为:%d秒\n",out);printf("成绩为:%d分\n",x);printf("*****————*******\n");FILE *fp;//文件指针int i, d;/*文件的打开*/fp=fopen("record.txt","a+");//fopen打开文件,这个文件可以是当前不存在的。“w”以写入的形式打开,“r”以读的形式打开if(fp==NULL) //判断如果文件指针为空{printf("File cannot open! " );exit(0);//在以0的形式退出,必须在文件开头有#include <stdlib.h>,stdlib 头文件即standard library标准库头文件}//写入东西fprintf(fp,"\t用时:%d秒\t得分:%d分\n",out,x);//写入指针fp,写入的东西就是刚才的用户输入的d,注意这里的fp和d没有引号//关闭文件fclose(fp);return 0;
}//2.检查功能的实现
int check(){  char c;int p; FILE*fp=NULL;//需要注意fp=fopen("record.txt","r");if(NULL==fp) return -1;//要返回错误代码while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来fclose(fp);fp=NULL;//需要指向空,否则会指向原打开文件地址  printf("——检查完毕——\n");printf("*****————*******\n"); return 0;
} //功能的分类
int function(int p){switch(p){case(1):test();break;case(2):check();break;case(3):printf("Thank you very much!!!!\n*****————*****");exit(0);}}int main()
{char a,b;int c,p;//输入IDint loop;loop:printf("请输入ID(2个大写字母和4个数字):\n");scanf("%c%c%d",&a,&b,&c);getchar();if(a<='Z'&&a>='A'&&b<='Z'&&b>='A'&&c>=0&&c<=9999) { FILE *fp;//文件指针int i, d;/*文件的打开*/fp=fopen("record.txt","a+");//fopen打开文件,这个文件可以是当前不存在的。“w”以写入的形式打开,“r”以读的形式打开if(fp==NULL) //判断如果文件指针为空{printf("File cannot open! " );exit(0);//在以0的形式退出,必须在文件开头有#include <stdlib.h>,stdlib 头文件即standard library标准库头文件}//写入东西fprintf(fp,"姓名:%c%c%d\t",a,b,c);//写入指针fp,写入的东西就是刚才的用户输入的d,注意这里的fp和d没有引号//关闭文件fclose(fp);while(1){int p;printf("****——主界面——****\n菜单:\n->1.开始测试\n->2.检查分数\n->3.退出\n请输入你的选择:**");scanf("%d",&p);getchar();printf("****——————******\n"); function(p);getchar(); }} else{printf("输入错误!\n");goto loop; }return 0;
}

总结

以上,是小编的第一次的自主编写,若是有不足的地方,欢迎提问小编。

小学数学题100以内的加减乘除相关推荐

  1. java实现小学数学100以内较难加减法

    给小朋友们编100以内的加减法这个工作枯燥.容易出错,就花半小时写了段简单的java代码来实现,要求如下:1.加法和减法随机出现:(用随机数是奇数减法偶数加法实现)2.加法和减法算式中必须要进位或借位 ...

  2. c语言100以内加减乘除法,如何编写C语言儿童100以内的加减乘除法游戏训练程序...

    匿名用户 1级 2013-07-11 回答 程序如下: #include #include void main() { int a[100]; int i=0,j,n; int x,count=0; ...

  3. Java小学算术10以内的加减乘除运算

    package demo; import java.util.Scanner; public class Test { static Scanner sc = new Scanner(System.i ...

  4. 儿童100以内的加减乘除法游戏训练c语言,一百以内的加减乘除法游戏....

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include void main() { int n,i,m,time1=0;long answer1,answe ...

  5. python 10个100以内随机整数编辑_Python在小学数学中的应用

    摘要:本文旨在说明Python编程在小学数学教学过程中的应用.通过6个案例,由浅入深地展示了Python在编题.解题.画图表.成绩分析中的强大功能,有效的提高了教学中的工作效率. 倡导小学教育工作者学 ...

  6. 100以内数的混合四则运算

    2017012314--100以内的混合四则运算项目报告 大家好! 本文大致描述了一个小学生四则运算软件的开发过程,既是对该段时间学习的记录,亦是对自己学习过程的一个总结. 需求分析 1.通过命令行程 ...

  7. 程序设计题:小学 100 以内正整数加减运算

    程序设计题:小学 100 以内正整数加减运算 1 问题描述 设计并实现"小学 100 以内整数加减运算"系统,程序要求如下: (1)随机出 10 道题,这 10 道题目不能重复,如 ...

  8. Python实效编程04 --100以内加减乘除自动生成

    文章目录 前言 一.主要功能 二.代码 前言 100以内加减乘除自动生成,包括题目和答案 一.主要功能 用户输入需要的题目数量,会自动生成加减乘除题目. 一套为题目,一套为答案. 除法均为可整除,乘法 ...

  9. C/C++小学100以内正整数加减运算[2023-03-14]

    C/C++小学100以内正整数加减运算[2023-03-14] 程序设计题:小学100以内正整数加减运算 面向专业:计算机科学与技术 难度等级:4 出题人:崔红燕 1 问题描述 设计并实现" ...

最新文章

  1. 长按发送语音_MIUI 11指尖通话功能,实现语音文字实时转换,米粉值得一试!...
  2. 硬链接与符号链接的比较?
  3. 【小程序】【Tips】image 组件中 null 和 undefined 的区别和对策
  4. Android功耗(8)---Camera功耗分析和拆解
  5. 《转》IN 查询时出现ORA-01795:列表中的最大表达式数为1000
  6. 2018 ngChina —— “跨平台”版块简介
  7. radius服务器搭建
  8. 经典SQL面试10题(附答案)
  9. wifi 小米pro 驱动 黑苹果_【黑果小兵】小米Pro macOS High Sierra 10.13黑苹果安装教程...
  10. 夜神模拟器7.12 安装 xposed
  11. 应用锁(AppLocker)原理及代码实现
  12. 青春饭碗——程序员,年纪大了怎么办?
  13. [IMX6Q][Android5.1]移植笔记 --- Kernel启动无法挂载文件系统
  14. 人物的喜怒哀乐怎么画?动漫人物表情怎么画?
  15. 数学建模训练 — 红楼梦作者解析
  16. 登高车的使用注意事项及具体操作步骤有哪些?
  17. 小区规划开发商想妻子的谎言改就能改(图)2015年05月02
  18. linux服务器里边ftp命令,Linux SSH使用FTP命令与另一台服务器的FTP的传输说明
  19. 安装Xshell遇到 由于找不到MSVCR110.dll,无法继续执行代码。重新安装程序可能会解决此问题
  20. c语言马里超级奥游戏代码,超级玛格奥下载-超级玛格奥游戏下载v2.0下载-99wo下载站...

热门文章

  1. linux有名管道 mkfifo,有名管道mkfifo
  2. Git下载、安装、使用
  3. Git的下载、安装与配置,详细图文教程
  4. Centos7 悟空crm安装部署
  5. Java中的generics范型
  6. 小红书推广营销,排名机制流出!
  7. docker搭建私有git服务器
  8. 伤心时最好读的50句语录
  9. 图片数据扁平化的方法
  10. 7-6 找到出勤最多的人 JAVA