个人项目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 =\n",a,b);
            break;
        case 1:if (a < b)
               {
                   d = a;
                   a = b;
                   b = d;
               }
             printf("%d - %d =\n", a, b);
             break;
        case 2:printf("%d * %d =\n",a,b);
            break;
        case 3:
            while (b == 0)
            {
                b = rand() % 100;
            }
            printf("%d / %d =\n", a, b);
            break;
        }
    }
    system("pause");
}

运行结果如下:

和同学的程序相比,都使用了随机函数rand获取随机数,利用for函数控制生成题型的数量。不同之处在于“+ - * /”符号的生成方式,我是定义了一个随机变量c,它的值域是0-3,通过c生成的数来决定加减乘除的符号,而同学的是先定义一个包含加减乘除的字符串,然后利用srand在里面获取随机运算符。总的来说,结果都是一样的,我也学习到另一种编程方法,收获颇多。

扫描二维码关注公众号,回复: 3474156 查看本文章

猜你喜欢

转载自www.cnblogs.com/xuzhengdong/p/9750876.html
今日推荐