最近也开到开学季了,一些小学生的家长给博主反映了一些困扰,要每天给孩子出题目,也是完成老师布置的作业任务。博主就花了些时间,简单的敲了些代码,还不够完善,希望有兴趣的伙伴能将它完善下或提出些好的建议。
某小学数学作业
话不多说,上代码。
1、先定义几个必要的变量
List<string> records = new List<string>(); Random rand = new Random(); string s; int n; int a; int b; int c; int d; int maxn = 10; int recordindex = 0;//当前页码
2、再把作业问题解决了

1 public void homework() 2 { 3 //3道三位数乘两位数计算 4 for (int i = 0; i < n; i++) 5 { 6 a = rand.Next(100, 1000); 7 b = rand.Next(10, 100); 8 c = a * b; 9 s = " " + a + "×" + b + "="; 10 label4.Text += s; 11 label5.Text += s + c; 12 } 13 //三道三位数除以两位数计算 14 for (int i = 0; i < n; i++) 15 { 16 int r = rand.Next(2); 17 if (r == 0)//可能有余数 18 { 19 a = rand.Next(100, 1000); 20 b = rand.Next(10, 100); 21 c = a / b; 22 d = a % b; 23 s = " " + a + "÷" + b + "="; 24 label4.Text += s; 25 if (d == 0) 26 label5.Text += s + c; 27 else 28 label5.Text += s + c + "……" + d; 29 } 30 else//一定没余数 31 { 32 a = rand.Next(100, 1000); 33 b = rand.Next(10, 100); 34 d = a % b; 35 a = a - d; 36 d = rand.Next(3, 8); 37 if (a < 100) { a += d * b; } 38 c = a / b; 39 s = " " + a + "÷" + b + "="; 40 label4.Text += s; 41 label5.Text += s + c; 42 } 43 } 44 //脱式计算 45 for (int i = 0; i < n + 1; i++) 46 { 47 int r = rand.Next(3); 48 if (r == 0)//乘法加法混合 49 { 50 a = rand.Next(100, 1000); 51 b = rand.Next(10, 100); 52 d = rand.Next(1, 100); 53 c = a * b + d; 54 s = " " + a + "×" + b + "+" + d + "="; 55 label4.Text += s; 56 label5.Text += s + c; 57 } 58 else if (r == 1)//乘法减法混合 59 { 60 a = rand.Next(100, 1000); 61 b = rand.Next(10, 100); 62 d = rand.Next(1, 100); 63 c = a * b - d; 64 s = " " + a + "×" + b + "-" + d + "="; 65 label4.Text += s; 66 label5.Text += s + c; 67 } 68 else if (r == 2)//除法加法混合 69 { 70 a = rand.Next(100, 1000); 71 b = rand.Next(10, 100); 72 d = a % b; 73 a = a - d; 74 d = rand.Next(3, 8); 75 if (a < 100) { a += d * b; } 76 d = rand.Next(10, 100); 77 c = a / b + d; 78 s = " " + a + "÷" + b +"+"+d+ "="; 79 label4.Text += s; 80 label5.Text += s + c; 81 } 82 } 83 }
3、接下来可以让他功能更强大点,可以适应加减法、乘除法、混合运算的练习

1 private void button1_Click(object sender, EventArgs e) 2 { 3 n = Convert.ToInt16(comboBox1.Text); 4 if (comboBox3.Text == "10以内") { maxn = 10; } 5 else if (comboBox3.Text == "100以内") { maxn = 100; } 6 else if (comboBox3.Text == "1000以内") { maxn = 1000; } 7 label4.Text = "题目: "; 8 label5.Text = "答案: "; 9 10 #region 11 if (comboBox2.Text == "加减法") 12 { 13 if (comboBox4.Text == "仅加法") 14 { 15 for (int i = 0; i < n; i++) 16 { 17 a = rand.Next(maxn / 10, maxn); 18 b = rand.Next(maxn / 10, maxn); 19 c = a + b; 20 s = " " + a + "+" + b + "="; 21 label4.Text += s; 22 label5.Text += s + c; 23 } 24 } 25 else if (comboBox4.Text == "仅减法") 26 { 27 for (int i = 0; i < n; i++) 28 { 29 a = rand.Next(maxn / 10, maxn); 30 b = rand.Next(maxn / 10, a); 31 c = a - b; 32 s = " " + a + "-" + b + "="; 33 label4.Text += s; 34 label5.Text += s + c; 35 } 36 } 37 else if (comboBox4.Text == "加减夹杂") 38 { 39 for (int i = 0; i < n; i++) 40 { 41 int r = rand.Next(2); 42 if (r == 0) 43 { 44 a = rand.Next(maxn / 10, maxn); 45 b = rand.Next(maxn / 10, maxn); 46 c = a + b; 47 s = " " + a + "+" + b + "="; 48 label4.Text += s; 49 label5.Text += s + c; 50 } 51 else 52 { 53 a = rand.Next(maxn / 10, maxn); 54 b = rand.Next(maxn / 10, maxn); 55 c = a + b; 56 s = " " + c + "-" + b + "="; 57 label4.Text += s; 58 label5.Text += s + a; 59 } 60 } 61 } 62 63 } 64 if (comboBox2.Text == "乘除法") 65 { 66 if (comboBox4.Text == "仅乘法") 67 { 68 for (int i = 0; i < n; i++) 69 { 70 a = rand.Next(maxn / 10, maxn); 71 b = rand.Next(maxn / 10, maxn); 72 c = a * b; 73 s = " " + a + "×" + b + "="; 74 label4.Text += s; 75 label5.Text += s + c; 76 } 77 } 78 else if (comboBox4.Text == "仅除法") 79 { 80 for (int i = 0; i < n; i++) 81 { 82 a = rand.Next(maxn / 10, maxn); 83 b = rand.Next(maxn / 10, maxn); 84 c = a * b; 85 s = " " + c + "÷" + b + "="; 86 label4.Text += s; 87 label5.Text += s + a; 88 } 89 } 90 else if (comboBox4.Text == "乘除夹杂") 91 { 92 int r = 0; 93 for (int i = 0; i < n; i++) 94 { 95 r = rand.Next(3); 96 if (r == 0)//可能有余数 97 { 98 a = rand.Next(maxn / 10, maxn); 99 b = rand.Next(maxn / 10, a); 100 c = a / b; 101 d = a % b; 102 s = " " + a + "÷" + b + "="; 103 label4.Text += s; 104 if (d == 0) 105 label5.Text += s + c; 106 else 107 label5.Text += s + c + "……" + d; 108 } 109 else if(r==1)//一定没余数 110 { 111 a = rand.Next(maxn / 10, maxn); 112 b = rand.Next(maxn / 10, maxn); 113 d = a % b; 114 a = a - d; 115 d = rand.Next(3, 8); 116 if (a < maxn / 10) { a += d * b; } 117 c = a / b; 118 s = " " + a + "÷" + b + "="; 119 label4.Text += s; 120 label5.Text += s + c; 121 } 122 else if (r == 2) 123 { 124 a = rand.Next(maxn / 10, maxn); 125 b = rand.Next(maxn / 10, maxn); 126 c = a * b; 127 s = " " + a + "×" + b + "="; 128 label4.Text += s; 129 label5.Text += s + c; 130 } 131 } 132 } 133 134 } 135 if (comboBox2.Text == "混合运算") 136 { 137 if (comboBox4.Text == "加减混合") 138 { 139 for (int i = 0; i < n; i++) 140 { 141 a = rand.Next(maxn / 10, maxn); 142 b = rand.Next(maxn / 10, maxn); 143 d = rand.Next(1, maxn); 144 c = a + b + d; 145 s = " " + a + "+" + b + "-" + c + "="; 146 label4.Text += s; 147 label5.Text += s + d; 148 } 149 } 150 else if (comboBox4.Text == "乘除混合") 151 { 152 for (int i = 0; i < n; i++) 153 { 154 a = rand.Next(maxn / 10, maxn); 155 b = rand.Next(maxn / 10, maxn); 156 d = rand.Next(1, maxn); 157 c = a * b * d; 158 s = " " + c + "÷" + "("+a + "×" + b +")"+ "="; 159 label4.Text += s; 160 label5.Text += s + d; 161 } 162 } 163 else if (comboBox4.Text == "加减乘除混合") 164 { 165 for (int i = 0; i < n; i++) 166 { 167 int r = rand.Next(2); 168 if (r == 0)//乘法加法混合 169 { 170 a = rand.Next(maxn / 10, maxn); 171 b = rand.Next(maxn / 10, maxn); 172 d = rand.Next(1, maxn); 173 c = a * b + d; 174 s = " " + a + "×" + b + "+" + d + "="; 175 label4.Text += s; 176 label5.Text += s + c; 177 } 178 else if (r == 1)//乘法减法混合 179 { 180 a = rand.Next(maxn / 10, maxn); 181 b = rand.Next(maxn / 10, maxn); 182 d = rand.Next(1, maxn); 183 c = a * b - d; 184 s = " " + a + "×" + b + "-" + d + "="; 185 label4.Text += s; 186 label5.Text += s + c; 187 } 188 } 189 } 190 } 191 #endregion 192 193 194 if (checkBox1.Checked == false) 195 { 196 label5.Hide(); 197 } 198 records.Add(label5.Text); 199 recordindex += 1; 200 }
4、最后设置下图标(icon),打包就ok了。
推荐下载图标的地址https://www.iconfont.cn/
还是很好用的。
至于icon图标的转换,博主不做推荐,网上也很多。
最后效果如下(极其简陋hahaha):
主界面如图:
点击作业按钮出来每天的作业题目
设置参数,点击出题按钮,显示相应的题目,也可以翻页查看记录,默认不显示答案。
博主做的很简陋,提供下载链接,希望有兴趣的小伙伴可以美化完善一下。
关注公众号,回复“出题小助手”,可获得所有源码。
扫码关注公众号