个人项目1:一个能生成小学二年级四则运算题目的“软件”
Posted xuzhengdong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人项目1:一个能生成小学二年级四则运算题目的“软件”相关的知识,希望对你有一定的参考价值。
做这个程序,用了差不多半个小时。从开始的思路到语句的实践,之间也出现了一些语法的错误,最后也得到了修正。由于学习的语言种类有限(c#刚刚开始学,大一时学习过c语言),在这里选择用C语言编写这个程序,环境是vs2010。
编写软件的大纲及思路:
1.需要生成随机自然数,我选择了rand函数
2.需要有加减乘除符号且随机分布,我定义了一个随机数c,当随机数取0的时就是+,取1的时就是-,取2的时就是*,取3的时就是/
3.减法算出来的数不能为负,我采用了if函数先判断大小,如果顺序不合适就对两个随机数进行交换
4.用for循环语句可以轻松的生成30道题目
代码如下:
#include<stdio.h> #include<Windows.h> #include<time.h> void main() { int a, b, c, d, i; srand(unsigned( time(NULL))); for(i = 0; i < 30; i++) { a = rand() % 100; b = rand() % 100; c = rand() % 4; switch (c) { case 0:printf("%d + %d = ",a,b); break; case 1:if (a < b) { d = a; a = b; b = d; } printf("%d - %d = ", a, b); break; case 2:printf("%d * %d = ",a,b); break; case 3: while (b == 0) { b = rand() % 100; } printf("%d / %d = ", a, b); break; } } system("pause"); }
运行结果如下:
和同学的程序相比,都使用了随机函数rand获取随机数,利用for函数控制生成题型的数量。不同之处在于“+ - * /”符号的生成方式,我是定义了一个随机变量c,它的值域是0-3,通过c生成的数来决定加减乘除的符号,而同学的是先定义一个包含加减乘除的字符串,然后利用srand在里面获取随机运算符。总的来说,结果都是一样的,我也学习到另一种编程方法,收获颇多。
以上是关于个人项目1:一个能生成小学二年级四则运算题目的“软件”的主要内容,如果未能解决你的问题,请参考以下文章