该程序是在博客园里面找的,具体是谁的找了半天没找到,无法提供它原本的链接。由于自己写的过于简单,且有一些功能暂时无法实现,所以就找了一个来应付作业,望原谅。在这个程序的源码中我改了一个错误的地方,源码中有这样一个随机数发生器的初始化函数的语句:“srand((unsigned)time(NULL))”。srand函数是随机数发生器的初始化函数。但是正确的写法应该是:srand(unsigned( time(NULL)));为了防止随机数每次重复,常常使用系统时间来初始化,即使用time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t)); 还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned) time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的t数据。所以在源码中他并没有定义需要的time_t型t变量,导致程序无法运行。改后的代码如下(https://github.com/Jackchenyu/four-arithmetic-operation/tree/Dev):

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

int count_s();
void over();

void main()
{
    int i;
    printf("\n\t\t\t || 欢迎进入小学四则运算系统 ||\n");
    printf("\n\t\t\t1  开始做题\n");
    printf("\n\t\t\t2  退出\n");
    printf("\n\t请输入您的选择: \n");
    scanf("%d",&i);
    if(i==1){
        count_s();
    }
    else if(i==2)
    {
        over();
    }else{
        printf("\n\t输入错误,请重新输入:d%",i);
        return;
    }
}

void over()
{
    printf("\n\t\t欢迎再次使用,谢谢!");
}

int count_s()
{
    int i=0;
     int n=0;
     int x=0;
     int t;
     char a;
     int b, c;
     float result;
     printf("/******请输入要出的题目数量:\n");
     scanf("%d",&n);
     srand((unsigned) time(NULL));
     while(x<n)
     {
            a = rand() % 4;
             b = rand() % 100;
             c = rand() % 100;
         switch(t)
         {
         case 0:
             printf("%d + %d = ?\n", b, c);
             break;
         case 1:
             printf("%d - %d = ?\n", b, c);
             break;
         case 2:
             printf("%d * %d = ?\n", b, c);
             break;
         case 3:
             printf("%d / %d = ?\n", b, c);
             break;
         }
 
         i++;
         while(i>=n)
         {
             printf("\n\t一共 %d 题\n",i);
             printf("\n\t\t继续?[Y/N]\n");
             fflush(stdin);
             scanf("%c",&a);
             if(a=='Y'||a=='y')
             {
                 printf("/*****请输入要出的题目数量\n");
                 scanf("%d",&n);
                 i=0;
                 break;
              }
             printf("欢迎再次使用使用!\n");
             fflush(stdin);
             getchar();
             return 0;
         }
     }
}

如果有什么不对的地方请多多指教。

自动生成简单四则运算的C语言程序的更多相关文章

  1. myapp——自动生成小学四则运算题目的命令行程序(侯国鑫 谢嘉帆)

    1.Github项目地址 https://github.com/baiyexing/myapp.git 2.功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 功能(已全部实现) 使用 -n ...

  2. Individual Project "写一个能自动生成小学四则运算题目的程序"

    一.题目简介 写一个能自动生成小学四则运算题目的程序. 初步拟定要实现的功能后,估计一下自己需要花多长时间.编程过程中记录自己实际用了多长时间. 然后和同学们比较一下各自程序的功能.实现方法的异同等等 ...

  3. 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’

    这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...

  4. 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序

    1. 编写一个能自动生成小学四则运算题目的程序.(10分)   基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图.   本题发一篇随笔,内容包括: 题 ...

  5. Python实现自动生成小学四则运算题目

    Github地址: https://github.com/guoyuyi/gyy.github.io/blob/%E4%BD%9C%E4%B8%9A1/zy1.py 题目描述: 通过python语言编 ...

  6. java实现自动生成小学四则运算——朱庭震,詹祺豪

    组员:朱庭震,詹祺豪 Github地址:https://github.com/ztz1998/second/tree/master 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自 ...

  7. C语言:一个能自动生成小学四则运算题目的程序

    完成这个程序,半个小时内完成了,这个程序,可以自动生成小学简易的四则运算,提供菜单让用户选择,然后判断加减乘除,判断答对答错的题目个数,用户同时也可以重新选择继续答题或重新选择或退出程序. 源程序: ...

  8. XML节点自动生成简单实例

    有些时候我们在拼装XML的过程中,因为各种拼接会感到非常的麻烦(定义变量模型,自动生成,使用XElement再去组装),我的脑袋感觉都大了,能不能有个稍微比较快捷自动随变量自动生成XML格式的方式,看 ...

  9. 实现一个自动生成小学四则运算题目的命令行程序(java实现)

    Github项目地址:https://github.com/xiaobaot/wordcount/tree/master/sizeyusuan 团队成员:谢家明(代码生成)    谢竣(测试完善) 项 ...

随机推荐

  1. android studio设置imageview显示图片

    拖动imageview 选择图片 .png 代码引用: private Imageview pay; pay = (ImageView)findViewById(R.id.imageView2); p ...

  2. springmvc date

    数据格式化,从本质上讲属于数据转换的范畴.Spring就是基于数据转换框架植入“格式化”功能的. 在数据转换时我们进行了如下配置: 我们使用的是ConversionServiceFactoryBean ...

  3. IntelliJ IDEA创建web项目

    Intellij IDEA 创建Web项目并在Tomcat中部署运行 一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选择Java类型,在 Module na ...

  4. Linux环境设置IP及关闭防火墙

    确认当前网络配置: [root@localhost ~]# nmcli -p dev ===================== Status of devices ================= ...

  5. HTTP Headers 信息

    点开一个条目,可以查看请求的详细信息: General —— 通用信息 Request URL:请求的URL     Request Method:请求的方法     Status Code:响应状态 ...

  6. JS 使用const声明常量的本质(很多人都有误解)

    在我们使用const声明常量时,总认为值一旦声明就不可改变,其实是有误解的: 刚在看ES6标准文档时,仔细阅读了const的解析,恍然大悟的感觉,分享给大家. 本质 const实际上保证的,并不是变量 ...

  7. HDU - 2043密码 水题

    密码 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  8. 15:CSS3 3D

    15:CSS3 3D 什么是3d的场景呢? 2d场景,在屏幕上水平和垂直的交叉线x轴和y轴 3d场景,在垂直于屏幕的方法,相对于3d多出个z轴 Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向 CSS ...

  9. 剑指offer——python【第37题】数字在排序数组中出现的次数

    题目描述 统计一个数字在排序数组中出现的次数 思路 最贱的方法依旧是count计数.. 当然,,看到有序数组就应该想到二分法,找到重复数字左边和右边的数字,然后两个相减就可以了 解答 方法1 coun ...

  10. python 3 往Excel 中的写入内容但不覆盖原内容

    EXCEL 写入数据保持原样式 import xlwt import xlrd import xlutils import xlutils.copy class ExcelHandle(): def ...