首页 > 编程语言 >小学四则运算编程实践(选做)

小学四则运算编程实践(选做)

时间:2023-11-19 10:45:31浏览次数:47  
标签:rand 选做 num1 num2 int 四则运算 result 编程 op

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

(以下参考博客链接:http://www.cnblogs.com/jiel/p/4810756.html)

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

void generate_arithmetic_problem(int* num1, int* num2, char* op) {
*num1 = rand() % 10 + 1;
*num2 = rand() % 10 + 1;
*op = ((rand() % 2 == 0) ? '+' : ('-' + rand() % 2));
}

int main() {
int num1, num2, result;
char op;
int count = 0;

srand(time(NULL));

while (count < 10) {
    generate_arithmetic_problem(&num1, &num2, &op);
    printf("问题:%d %c %d = ", num1, op, num2);
    scanf("%d", &result);

    if (result == (num1 * op + num2)) {
        printf("答案正确!\n");
        count++;
    } else {
        printf("答案错误!\n");
    }
}

return 0;

}

标签:rand,选做,num1,num2,int,四则运算,result,编程,op
From: https://www.cnblogs.com/Augenstem/p/17841687.html

相关文章

  • 【教3妹学编程-java基础6】详解父子类变量、代码块、构造函数执行顺序
    -----------------第二天------------------------本文先论述父子类变量、代码块、构造函数执行顺序的结论,然后通过举例论证,接着再扩展,彻底搞懂静态代码块、动态代码块、构造函数、父子类、类加载机制等知识体系。温故而知新,建议点赞收藏~ 1先说结论 面试官:好的,你说一下java中父......
  • 【教3妹学编程-算法题】三个无重叠子数组的最大和
    2哥 :3妹,咋啦?一副苦大仇深的样子?3妹:不开心呀不开心,羽生结弦宣布离婚。2哥 :羽生什么?3妹:羽生结弦!2哥 :什么结弦?3妹:羽生结弦!!!2哥:羽生结弦是谁?他离婚关你啥事啊?3妹:你不知道,他是日本著名花滑运动员,前几个月刚宣布结婚,没想到这么快就离了。真是短时间内震惊我两次!2哥 :哎,人家怎......
  • 熟悉编程语言
    现在最受欢迎的编程语言top50这50种编程语言的编程泛型命令式:Swift,Ada,C++面向过程:Fortran,Pascal,Lua,C面向对象:Python,C++,Java,E,Agora,Ruby,F#,COBOL,PHP,go,Objective-C声明式:SQL,CSS函数式:Lisp,Scala,logo,R,ML,Haskell,Scheme逻辑式:Prolog,C我想学习的编程语......
  • Flutter/Dart第21天:Dart异步编程(Future/Stream)
    Dart官方文档:https://dart.dev/language/async重要说明:本博客基于Dart官网文档,但并不是简单的对官网进行翻译,在覆盖核心功能情况下,我会根据个人研发经验,加入自己的一些扩展问题和场景验证。Future处理我们有2种方式编写Future异步代码:使用async和wait关键字使用FutureAPI(ht......
  • 编程语言排名
    对于前20种热门语言命令式面向过程:CC++JavaC#JavaScriptPHPVisualBasicGoKotlinDelphi/ObjectPascalSwiftRubyRust面向对象:C++JavaC#JavaScriptPHPVisualBasicDelphi/ObjectPascalSwiftRubyKotlin声明式函数式:PythonSQLR逻辑式:Scratch(......
  • Python十道基础编程题
    1.输入日期,判断这一天是这一年的第几天importdatetimedefday_of_year():year=eval(input('请输入年份:'))month=eval(input('请输入月份:'))day=eval(input('请输入天:'))date1=datetime.date(year,month,day)date2=datetime.date......
  • 《Java编程思想第四版》学习笔记37--关于 TextField的ActionListener接收器
    //:TextNew.java//TextfieldswithJava1.1eventsimportjava.awt.*;importjava.awt.event.*;importjava.applet.*;publicclassTextNewextendsApplet{Buttonb1=newButton("GetText"),b2=newButton("SetText");TextFie......
  • 【教3妹学编程-算法题】数位和相等数对的最大和
    3妹:2哥,你有没有看到新闻“18岁父亲为4岁儿子落户现身亲子鉴定”2哥 :啥?18岁就当爹啦?3妹:确切的说是14岁好吧。2哥 :哎,想我30了,还是个单身狗。3妹:别急啊,2嫂肯定在某个地方等着你去娶她呢。又不是结婚越早越好。2哥:是啊,这孩子14岁当爹,也太早了。3妹:2哥,你找女朋友有什么条件没有......
  • 熟悉编程语言
    编程语言top50这50种编程语言的编程泛型命令式编程语言C、C++、Java、C#、JavaScript、PHP、VisualBasic、Assemblylanguage、Go、Delphi/ObjectPascal、Swift、Rust、COBOL、ClassicVisualBasic、SAS、(Visual)FoxPro、Ada、D、Transact-SQL、Lua、Objective-C、Da......
  • 命令行参数编程
    1. 新程序开始时典型的栈结构                        2. 命令行参数规范1.短选项参数规范:(1)由选项、选项值、操作数组成(注意操作数的位置不一定)例:①gcctest-otest.out......