课设格式要求
1.目录两字间空一格 自动生成目录
2.字体正文宋体小四 小标题宋体小三 
3.添加的流程图必须为传统流程图格式 
4.各图表下必须有序号以及图片名称 字号要求为宋体5号 eg:图1.1 小学数学练习流程图 图1.2小学数学练习运行结果
5.注意正文左对齐 以及缩进

1.1 设计题目

编写一个帮助小学生练习数学的程序,帮助小学生练习 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)在屏幕上输出以下信息:(3 列信息,第 1 列是 b)中的测试题,蓝色部分)

问题 | 正确答案 | 你的答案

c) 成绩检查:从文件“record.txt”中列出该学生的所有历史成绩(其他学生的不显示)。例如:

你以前的记录是:

AB1234 80 150 秒

AB1234 50 182 秒

AB1234 90 98 秒

1.2 问题描述

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

1.3 问题分析

用c语言,按以下顺序进行代码实现:

(1)用循环语句判断输入用户名是否合法

(2)用文件指针存储ID、成绩、答题时间

(3)用文件和if else/读取以前的记录

(4)记录答题时间,用0调用时间函数time(),将其返回值强制转换为unsigned型,作为参数来调用srand( )函数。

(5)用switch语句随机产生数学计算

1.4流程图

小学数学练习流程图如图1.1所示。

图1.1 小学数学练习流程图

1.5 功能实现

(1)实现了相邻问题是不同操作(加减乘除)

(2)实现参与运算的数字和结果都为0到100之间的整数,对于除法能整除

(3)记录计算十道题的时间

(4)保存一个学生的成绩

1.6 测试实例及运行结果

小学数学练习的测试实例及运行结果如下图。

图1.2 小学数学练习测试实例及运行结果

1.7 源程序清单

小学数学练习的源程序清单如下所示。

#include<time.h>#include<stdlib.h>#include<stdio.h>#include<windows.h>#include<shlwapi.h>int check(char ID[]) //判断输入用户名是否合法{int j=0,k=0;char *p;p=ID;while(*p!='\0') //字符串存储时后面自动补0{if((*p>='A')&&(*p<='Z'))j++;else if((*p>='0')&&(*p<='9'))k++;p++;}return (j==2&&k==4?1:0);}void store(char ID[],int score,int time){ //存储ID、成绩、答题时间FILE *fp;fp=fopen("record.txt","a+");  //a+只打开,不新建新的文件if(fp==NULL){fp=fopen("record.txt","w");}fprintf(fp,"%s\t%d\t%d秒\n",ID,score,time);fclose(fp);}void read_file(char new_ID[]){ //读取以前的记录char ID[100];int score,time;FILE *fp;fp=fopen("record.txt","r");if(fp==NULL){printf("新玩家,没有做题记录\n");exit(1);}while(!feof(fp)){fscanf(fp,"%s\t%d\t%d秒\n",ID,&score,&time);if(strcmp(new_ID,ID)==0){printf("%s\t%d\t%d秒\n",ID,score,time);}}fclose(fp);}int main(){char ID[100];srand((unsigned long)time(0));clock_t start,end;  int w=0,j=0,k=0;char t;int a,b,c,d,score,i;while(!k){printf("请输入用户ID号:");gets(ID);k=check(ID);if(k==0)printf("ID不规范,Input again\n");}printf("ID:%s通过检查\n请玩家请做好准备,即将开始旅程\n",&ID);printf("输入提示:\n(1)开始测试\n(2)检查分数\n(3)退出\n");LOOP:scanf("%d",&w);switch(w){case 3:printf("游戏结束\n");printf("等待下次见面\n");exit(1);break;case 2:printf("你以前的记录是:\n");read_file(ID);printf("输入提示:\n(1)继续测试\n(2)检查分数\n(3)退出\n");goto LOOP;break;case 1:char answer[10][100];j=0;  //必须重新复制为0,要不第二次时会因判断跳过做题循环start=0;end=0;start = clock(); //计时开始while(w==1&&j<10){ //10道加减乘除题目a=rand()%101;b=rand()%101;c=rand()%4;switch(c)    {case 3:t='/',d=a/b;break;case 2:t='*',d=a*b;break;case 1:t='-',d=a-b;break;case 0:t='+',d=a+b;break;}printf("%d%c%d=",a,t,b);scanf("%d",&c);sprintf(answer[j],"%d%c%d|%d|%d",a,t,b,d,c); //直接输入数组一行if(c==d){printf("正确!+10分\n");score+=10;}elseprintf("错啦~\n");j++;}end = clock();  //计时结束int time=(int)(end-start)/CLOCKS_PER_SEC;printf("答题结束\n");printf("玩家分数为:%d,所用时间为%ds\n",score,time);printf("输出:问题 | 正确答案 | 你的答案\n");for(int i=0;i<10;i++){puts(answer[i]);}store(ID,score,time);printf("输入提示:\n(1)继续测试\n(2)检查分数\n(3)退出\n");goto LOOP;break;}}

补充说明://FILE*fp是声明,声明fp是指针,用来指向FILE类型的对象。*fp是指向文件结构体的指针变量,通过fp可找到存放某个文件信息的结构变量,根据这个结构变量的信息找到该文件,实施对文件的操作。fp通常被成为一个指向文件的指针。

//a+只打开,不新建新的文件 以追加的方式打开文件,并且可以读文件。打开文件后,文件的读指针指向文件头,而写指针指向文件的最后。可以通过fseek函数移动读指针,但是移动写指针不会生效,写指针一直指向文件的最后。

//"file.txt"是文件名;"w"是只写的意思;如果这个文件的内容为空,就是什么都没有的话,则执行下面的输出语句!

//"r"代表以只读方式打开。如果打开成功,则将文件起始位置的地址返回给fp指针,否则,返回NULL到fp指针。//关闭所有文件,终止正在执行的进程。exit(1)表示异常退出,这个1是返回给操作系统的。exit(x)(x不为0)都表示异常退出。exit(0)表示正常退出。

//fp为文件句柄,feof为判断是否读到文件尾,! 为非while(!feof(fp))就是当条件为不是文件尾时均执行后续代码。

//strcmp(a, b)这是一个字符串比较函数, 如果a的字符串内容与b的字符串内容相同的话,strcmp == 0

//用0调用时间函数time(),将其返回值强制转换为unsigned型,作为参数来调用srand( )函数。

//srand( )是为rand( )函数初始化随机发生器的启动状态,以产生伪随机数,所以常把srand( )称为种子函数。用time()返回的时间值做种子的原因是time()返回的是实时时间值,每时毎刻都在变化,这样产生的伪随机数就有以假乱真的效果。

//rand()就是随机函数。rand()%101的含义是随机0-100之间的数字,如果是rand()%n,就是随机0~(n-1)之间的数字。

二.石头剪刀布游戏

1.1 设计题目

用 JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的

另一方计算机随机选择,然后给出游戏结果。

1.2 问题描述

利用Java设计出一个能实现石头剪刀布的一个游戏,并能利用图片等表示出结果

1.3 问题分析

利用所学的窗口知识进行代码的实现,并设计出菜单的功能, 进行实现能运行出相关的图片与结果

1.4 流程图

石头剪刀布游戏流程图如图1.3所示。

图1.3 石头剪刀布游戏流程图

1.5 功能实现

1. 在“//”后给出必要的注释;

2. 为程序添加菜单;至少 2 个菜单:结果显示方式和关于游戏;结果显示方式菜单有 3 个菜单项:文本 显示、图形显示、结束游戏;实现菜单中的功能,自行搜索能体现石头、剪刀、布的图形或图片,用这些图形或图片显示游戏结果。

1.6 测试实例及运行结果

石头剪刀布游戏测试实例及运行结果如下图所示。

图1.3 石头剪刀布游戏测试实例及运行结果

1.7 源程序清单

石头剪刀布游戏的源代码清单如下所示。

package FingerGuess;import java.awt.*; //引入抽象窗口工具包 setVisible BorderLayout JFrame 继承import java.awt.event.*; //引入事件处理机制 panel ActionListener  Actioneventimport javax.swing.*;//引入swing 组件 设置窗口 setDefaultCloseOperation  setText(JLabel)组件//第二步,定义一个窗口类,并实现 ActionListener 接口,把需要的组件定义放到类里为了方便调用;public class work11 extends JFrame  {/*这涉及到序列化机制的问题,序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。当把对象写进流里就会根据此机制生成一个相应的序号,从流里读取对象时就根据这个序号来检查对象的完整性,生成序号的过程有点繁琐,而当你在一个实现了serializable的类里声明一个static final serialVersionUID的long型常量以后,序列化机制就不会计算它的序号了,而是直接使用这个常量作为以后提取对象的依 *///如果不添加这两个字段会有程序警告:serializable 类 work11 未声明类型为 long 的静态终态 serialVersionUID 字段private static long xxxxxxL;private static final long serialVersionUID = xxxxxxL;JButton jiandao,shitou,bu,clear; //定义 JButton 对象;JPanel panel2,panel1; // 定义 JPanel 对象JLabel label; // 定义JLabel对象//设置窗体。构造函数public work11() {setTitle("石头剪刀布游戏"); //设置窗体标题,修改标题为“石头剪刀布游戏”;setLocation(250,250); //设置窗6体左上顶点坐标;- 4 -setSize(400,350); //设置窗体大小,修改窗体大小为:350×350; 这里为例方便之后的图形显示,我将长度改为了400px。//根据需求建立对象,这里只需要 4 个 JButton 对象,2 个 JPanel 对象,1 个 JLabel 对象;panel1 =new JPanel(); // 实例化JPanel对象panel1.setBackground(Color.yellow); // 修改panel1的背景颜色 黄色shitou = new JButton("石头"); // 实例化 Jbutton 对象jiandao =new JButton("剪刀"); //实例化 Jbutton 对象bu = new JButton("布"); //实例化 Jbutton 对象clear = new JButton("清空"); //实例化 Jbutton 对象panel2=new JPanel(); // 实例化 JPanel2 对象panel2.setBackground(Color.green); // 修改JPanel2 背景颜色 为绿色label =new JLabel("选择剪刀、石头、布开始游戏"); // 新建一个Jlabel对象//设置按钮大小shitou.setPreferredSize(new Dimension(80,40));jiandao.setPreferredSize(new Dimension(80,40));bu.setPreferredSize(new Dimension(80,40));clear.setPreferredSize(new Dimension(80,40));//给所有 JButton 对象注册事件监听器;shitou.addActionListener(new jbutton());     //在事件触发后,调用actionPerformed 做相应处理jiandao.addActionListener(new jbutton()); //这里的this 指的是 本类中的成员方法(事件处理机制)bu.addActionListener(new jbutton());clear.addActionListener(new jbutton());// 把所有的新添加的对象都放进去窗体里面,先放进组件类,再放进窗体类panel1.add(shitou);//JPanel 默认布局 FlowLayOut 一直水平排列按钮。窗口大小不合适,可能会导致按钮无法显示panel1.add(jiandao);panel1.add(bu);panel1.add(clear);panel2.add(label);//定义 panel1 和panel2的 位置add(panel1, BorderLayout.NORTH); //JFrame类 继承的方法 用于添加组件  add(panel2, BorderLayout.CENTER);//该语法 相当于 this.add  this 指的是窗体//创建菜单JMenuBar menuBar = new JMenuBar();// 创建菜单栏对象setJMenuBar(menuBar);// 将菜单栏对象添加到窗体的菜单栏中JMenu menu1 = new JMenu("结果显示方式");// 创建菜单对象menuBar.add(menu1);// 将菜单对象添加到菜单栏对象中JMenuItem menuItem1 = new JMenuItem("文本显示");// 创建菜单项对象menuItem1.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu1.add(menuItem1);// 将菜单项对象添加到菜单对象中JMenuItem menuItem2 = new JMenuItem("图形显示");// 创建菜单项对象menuItem2.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu1.add(menuItem2);// 将菜单项对象添加到菜单对象中JMenuItem menuItem3 = new JMenuItem("结束游戏");// 创建菜单项对象menuItem3.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu1.add(menuItem3);// 将菜单项对象添加到菜单对象中JMenu menu2 = new JMenu("关于游戏");// 创建菜单对象menuBar.add(menu2);// 将菜单对象添加到菜单栏对象中JMenuItem menuItem4 = new JMenuItem("小帅工作室");//menuItem4.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu2.add(menuItem4);// 将菜单项对象添加到菜单对象中JMenuItem menuItem5 = new JMenuItem("联系方式:");//menuItem5.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu2.add(menuItem5);// 将菜单项对象添加到菜单对象中JMenuItem menuItem6 = new JMenuItem("QQ:88888");//menuItem6.addActionListener(new ItemListener());// 为菜单项添加事件监听器menu2.add(menuItem6);// 将菜单项对象添加到菜单对象中}boolean flag = true;//jbutton实现 ActionListener 接口方法,使得按下按钮后执行方法里的代码 可以称为事件响应器;public class jbutton implements ActionListener{public void actionPerformed(ActionEvent e) {int i = ((int)(Math.random()*10))%3;//System.out.print(i + " ");测试点击按钮是否正确相应代码if(flag) {if(e.getSource() == shitou) {//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setText("你出石头,电脑出石头,平局!"); //label 显示文本break;case 1:label.setText("你出石头,电脑出剪刀,恭喜你赢了!");//label 显示文本break;case 2:label.setText("你出石头,电脑出布,很遗憾你输了!");//label 显示文本break;}}else if(e.getSource() == jiandao){//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setText("你出剪刀,电脑出石头,很遗憾你输了!");//label 显示文本break;case 1:label.setText("你出剪刀,电脑出剪刀,平局!");//label 显示文本break;case 2:label.setText("你出剪刀,电脑出布,恭喜你赢了!");//label 显示文本break;}}else if(e.getSource() == bu){//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setText("你出布,电脑出石头,恭喜你赢了!");//label 显示文本break;case 1:label.setText("你出布,电脑出剪刀,很遗憾你输了!");//label 显示文本break;case 2:label.setText("你出布,电脑出布,平局!");//label 显示文本break;}}else if(e.getSource() == clear) {label.setText("选择剪刀, 石头, 布开始游戏!");//label 显示文本}}else {if(e.getSource() == shitou) {//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setIcon(new ImageIcon("C:/FingerGuess/shitouequalshitou.png")); //label 显示图片label.setText("");//设置文本为空break;case 1:label.setIcon(new ImageIcon("C:/FingerGuess/shitouwinjiandao.png"));//label 显示图片label.setText("");//设置文本为空break;case 2:label.setIcon(new ImageIcon("C:/FingerGuess/shitoudefeatbu.png"));//label 显示图片label.setText("");//设置文本为空break;}}else if(e.getSource() == jiandao){//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setIcon(new ImageIcon("C:/FingerGuess/jiandaodefeatshitou.png"));//label 显示图片label.setText("");//设置文本为空break;case 1:label.setIcon(new ImageIcon("C:/FingerGuess/jiandaoequaljiandao.png"));//label 显示图片label.setText("");//设置文本为空break;case 2:label.setIcon(new ImageIcon("C:/FingerGuess/jiandaowinbu.png"));//label 显示图片label.setText("");//设置文本为空break;}}else if(e.getSource() == bu){//int i = ((int)(Math.random()*10))%3;//电脑随机出拳  0代表石头 1代表剪刀 2代表布switch(i) {case 0:label.setIcon(new ImageIcon("C:/FingerGuess/buwinshitou.png"));//label 显示图片label.setText("");//设置文本为空break;case 1:label.setIcon(new ImageIcon("C:/FingerGuess/budefeatjiandao.png"));//label 显示图片label.setText("");//设置文本为空break;case 2:label.setIcon(new ImageIcon("C:/FingerGuess/buequalbu.png"));//label 显示图片label.setText("");//设置文本为空break;}}else if(e.getSource() == clear) {label.setText("选择剪刀, 石头, 布开始游戏!");//label 显示文本label.setIcon(new ImageIcon("C:/FingerGuess/white.png"));//设置显示图片为空}}}}//ItenListener 实现ActionListener接口,用于给菜单栏添加事件处理机制public class ItemListener implements ActionListener {public void actionPerformed(ActionEvent e) {//JMenuItem menuItem = (JMenuItem) e.getSource();//System.out.println("您单击的是菜单项:" + menuItem.getText());测试点击菜单按钮是否有相应的过程代码if(e.getActionCommand().equals("图形显示")) {ImageIcon icon1 = new ImageIcon("C:/FingerGuess/shitou.png");//实例化图片对象ImageIcon icon2 = new ImageIcon("C:/FingerGuess/jiandao.png");ImageIcon icon3 = new ImageIcon("C:/FingerGuess/bu.png");ImageIcon icon4 = new ImageIcon("C:/FingerGuess/clear.jpg");icon1.setImage(icon1.getImage().getScaledInstance(40,40,0));//设置图片大小 ,适配按钮大小icon2.setImage(icon2.getImage().getScaledInstance(40,40,0));icon3.setImage(icon3.getImage().getScaledInstance(40,40,0));icon4.setImage(icon4.getImage().getScaledInstance(40,40,0));shitou.setText("");//修改按钮文本为空jiandao.setText("");bu.setText("");clear.setText("");shitou.setIcon(icon1);//给按钮添加图片jiandao.setIcon(icon2);bu.setIcon(icon3);clear.setIcon(icon4);//修改label 显示图形flag = false;//修改flag 改变显示效果}if(e.getActionCommand().equals("文本显示")) {shitou.setText("石头");jiandao.setText("剪刀");bu.setText("布");clear.setText("清空");shitou.setForeground(Color.black);jiandao.setForeground(Color.black);bu.setForeground(Color.black);clear.setForeground(Color.black);ImageIcon icon1 = new ImageIcon("C:/FingerGuess/white.png");icon1.setImage(icon1.getImage().getScaledInstance(1,1,0));shitou.setIcon(icon1);jiandao.setIcon(icon1);bu.setIcon(icon1);clear.setIcon(icon1);//修改label 显示文本flag = true;//修改flag 改变显示方式label.setIcon(new ImageIcon("C:/FingerGuess/white.png"));//设置显示图片为空label.setText("选择剪刀, 石头, 布开始游戏!");//设置文本显示文字}if(e.getActionCommand().equals("结束游戏")) {System.exit(0);//退出}}}//主函数 测试public static void main(String[] args) {work11 frame = new work11(); //声明并实例化对象frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // 设置窗体关闭按钮frame.setVisible(true);                                  // 使窗体可见}}

实验报告:小学数学练习、石头剪刀布游戏相关推荐

  1. 小学数学测试软件报告,小学数学学业水平测试分析报告.doc.doc

    小学数学学业水平测试分析报告.doc 小学数学学业水平测试分析报告 高淳县教育研训中心 唐开鸿 赵凯 为了解目前我县小学数学教师的教学情况.数学学科教学质量.学生学习的薄弱点和优势,给县教育局进行农村 ...

  2. 数学实验教程matlab版实验报告,MATLAB数学实验报告.doc

    MATLAB数学实验报告 姓名:李帆 班级:机械(硕)21 学号:2120104008 第一次数学实验报告 --线性规划问题 实验问题 某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30 ...

  3. 小学数学测试软件报告,小学数学测试系统C课程设计报告及源程序代码论文

    小学数学测试系统C课程设计报告及源程序代码论文 (34页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 课 程 设 计 报 告课程名称 ...

  4. matlab数学实验教程实验1实验报告,Matlab数学实验一2015(答案版)

    Matlab数学实验一--matlab初体验 一. 实验目的及意义 [1] 熟悉MATLAB软件的用户环境: [2] 了解MATLAB软件的一般目的命令: [3] 掌握MATLAB数组操作与运算函数: ...

  5. 计算机教育游戏,小学数学计算机教育游戏应用

    教育界流传着这样一句话:学生的学习兴趣是提升学生成绩的关键.可以说,学生如果能够饱含热情地面对学习,将学习知识扭转为兴趣学习,那么必然可以大幅提高学生的主动学习能力,进而提高学生的学习成绩.由于数学是 ...

  6. c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告.doc

    C语言程序设计扫雷游戏实验报告 中南大学 程序设计基础实践报告 题 目 设计一个和window系统类似的小游戏[挖地雷] 学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程1301班 ...

  7. 雅可比法实验报告matlab,数学建模实验报告范文 数学建模的实验报告

    数学建模 实验报告 姓名:学院: 专业班级: 学号: 数学建模实验报告(一) --用最小二乘法进行数据拟合 一.实验目的: 1. 学会用最小二乘法进行数据拟合. 2. 熟悉掌握matlab 软件的文件 ...

  8. c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告.pdf

    中南大学 程序设计基础实践报告 题 目 设计一个和window系统类似的小游戏[挖地雷] 学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程1301班 完成时间 2014.1 < ...

  9. c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告-20210415215509.pdf-原创力文档...

    中南大学 程序设计基础实践报告 题 目 设计一个和 window 系统类似的小游戏 [挖地雷] 学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程 1301 班 完成时间 2014.1 ...

  10. 小学数学闯关游戏 java代码_简单的java程序 小学数学闯关游戏 多谢高分

    展开全部 有4个类 MainFrame,Question,QuestionPanel,ResultPanel import java.awt.BorderLayout; import java.awt ...

最新文章

  1. Flutter Live 2018 Flutter 1.0 发布
  2. Python Django 参数解包及代码示例
  3. linux多线程访问共享资源,多个线程访问共享对象和数据
  4. leetcode combinations java_[LeetCode][Java] Combinations
  5. 手把手教你用Java实现一个简易联网坦克对战小游戏
  6. 在 .NET 中设置页面元素的 javascript 事件 - IEBrowser [5]
  7. H53D旋转-遁地龙卷风
  8. 游戏史上80重要创新(原资料来自17173)
  9. 三十九级台阶java_蓝桥杯 -- 第三十九级台阶
  10. 钉钉生成jspapi token出现IP地址不在白名单的解决办法
  11. Rust之crate
  12. 团队创意游戏4:社交网
  13. redis之数据倾斜如何处理
  14. 【前端性能】常见前端性能优化
  15. 2019 网易校园招聘---[小易的字典]
  16. java vips 算法_VIPS:基于视觉的Web页面分页算法[转]
  17. android 按键声音
  18. 创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录
  19. Python math.degrees() 方法
  20. 论文阅读 (86):Normality Guided Multiple Instance Learning for Weakly Supervised Video Anomaly Detection

热门文章

  1. python四种抽样方法的使用:随机抽样、聚类抽样、系统抽样、分层抽样
  2. 机器学习分类算法_达观数据:5分钟带你理解机器学习及分类算法
  3. 小和尚打水问题_三个和尚阅读题答案阅读题目
  4. 学习通、优课联盟不让粘贴?那就让计算机帮你手打!
  5. Office Tool 四月份问题反馈汇总
  6. R语言数学函数及统计函数及概率函数
  7. hotspot源码角度看OOP之类属性的底层实现(一)
  8. 重庆大学c++2022级-期末模拟考试
  9. 20060707-Spatial transformations: Translation confusion
  10. ThingsBoard 设备OTA