该程序是在博客园里面找的,具体是谁的找了半天没找到,无法提供它原本的链接。由于自己写的过于简单,且有一些功能暂时无法实现,所以就找了一个来应付作业,望原谅。在这个程序的源码中我改了一个错误的地方,源码中有这样一个随机数发生器的初始化函数的语句:“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. laravel5.8笔记六:公共函数和常量设置

    公共函数 创建bootstrap/common.php <?php // 发送短信 function sendSMS($mobile){ } // 发送邮件 function sendMail( ...

  2. 目前(2018年)在北京java程序员平均薪水是多少呢?

    1. 这个要看看个人java开发能力,你那个自己带项目做团队的比较高哦 2. 一般来说刚毕业的本科实习生大约在5000左右,干半年基本都张到7.5左右了. 3. Java程序员一般都集中在北京,上海和 ...

  3. Spring 学习笔记(十)渲染 Web 视图 (Apache Tilesa 和 Thymeleaf)

    使用Apache Tiles视图定义布局 为了在Spring中使用Tiles,需要配置几个bean.我们需要一个TilesConfigurer bean,它会负责定位和加载Tile定义并协调生成Til ...

  4. [原]shell批量文件增删改前后缀

    改后缀 for files in `ls *`; do mv ${files} ${files}.bak; done 改后缀 rename .bak .bak2 * 去除后缀 for files in ...

  5. codeforces-707 C. Pythagorean Triples

    C. Pythagorean Triples time limit per test 1 second memory limit per test 256 megabytes input standa ...

  6. python3 小工具

    扫描IP的端口是否开放:Porttest.py # -*- coding: utf-8 -*- import sys import os import socket #扫描 def scanport( ...

  7. Ant 批量执行jmeter 脚本

    一.环境准备: 1.Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html 命令行输入:java -v ...

  8. 6.cookie、session,localStorage、sessionStorage

    必须在服务器下运行 cookie/session 存东西 cookie 时间 过期时间 4k 服务器把一部分数据保存在客户端(浏览器) session 回话 时间 服务器存取用户信息 5M local ...

  9. yarn集群客户端gateway常用限制

    spark默认集群模式,省略上传依赖包过程:spark-default.sh spark.yarn.jars hdfs:///${PATH}/sparkJar/jars/*.jarspark.subm ...

  10. 【python】——sql模拟

    一.作业需求: 当然此表你在文件存储时可以这样表示 1,Alex Li,22,13651054608,IT,2013-04-01 现需要对这个员工信息文件,实现增删改查操作 可进行模糊查询,语法至少支 ...