使用软件——VS 2015

使用环境——C语言

早在上周我就开始使用C#语言做,由于最后一点问题而放弃,之后用C语言开始做,很顺利,但是也碰到了一些问题,但是通过了百度文库上的一些程序的借鉴和吴阿平同学的悉心指导最后还是解决了,主要是通过C语言实现能够生成100以内的加减乘除题目,并且判断使用者的答题是否正确。一开始的时候先会给使用者提供加减乘除四个选项,使用者选择后会提示是一位数还是两位数;之后使用者开始作答,之后之前的步骤一直循环,直到使用者不再使用。下面是程序代码:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int add(int num1, int num2)//加法
{
return num1 + num2;
}
int subtraction(int num1, int num2)//减法
{
return num1 - num2;
}
int mul(int num1, int num2)//乘法
{
return num1*num2;
}
float divis(int num1, int num2)//除法
{
return ((int)(((float)num1 / num2) * 100 + 0.5)) / 100.0;
}
int main()
{
int type = -1;
int data = -1;
int choice, num1, num2, results;
float div_result;
int right = 0;
int wrong = 0;
char ch;
printf("欢迎进入小学四则运算题,现在考验你的智商是不是真正的“小学生”了!\n");
srand((unsigned int)time(NULL));
while (1)
{
printf("请选择运算类型:1.加法 2.减法 3.乘法 4.除法(保留两位小数)\n");
scanf("%d", &choice);
printf("请选择位数:1.一位数 2.两位数\n");
scanf("%d", &data);
switch (choice)
{
case 1:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d + %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == add(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d + %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == add(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 2:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d - %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == subtraction(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d - %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == subtraction(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 3:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d * %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == mul(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d * %d=__?__\n", num1, num2);
scanf("%d", &results);
if (results == mul(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 4:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10 + 1;
printf("%d / %d=__?__\n", num1, num2);
scanf("%f", &div_result);
if (div_result == divis(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100 + 1;
printf("%d / %d=__?__\n", num1, num2);
scanf("%f", &div_result);
if (div_result == divis(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
default:
printf("输入错误!\n");
break;
}
}
end:
printf("回答正确%d题,回答错误%d题\n", right, wrong);
printf("\n===================感谢使用=====================!\n");
system("pause");
return 0;
}

实验截图:

用C语言编写生成小学四则运算程序的更多相关文章

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

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

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

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

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

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

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

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

  5. [改善Java代码]易变业务使用脚本语言编写

    建议16: 易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP.Ruby.Groovy.JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们 ...

  6. 四则运算程序(java基于控制台)

    四则运算题目生成程序(基于控制台) 一.题目描述: 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r ...

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

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

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

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

  9. 软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

    对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处 ...

随机推荐

  1. C# 动态调用DLL库

    最近经常用到C#动态调用类库,简单的做下记录方便以后查询. 使用下面的几行代码就可以简单实现DLL类库的调用了 using System.Reflection; // 引入该命名空间 // 获取roc ...

  2. json_decode返回NULL

    最近在调用某公司的API时,将对方返回的数据,使用PHP的json_decode函数解析,但是返回NULL,最终排查为对方传送来的json格式有误 打印$_REQUEST,数据结构大致如下: arra ...

  3. JS身份证号码校验

    var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加权因子 var ValideCode = [ 1, 0 ...

  4. 从APP跳转到WI-FI

    之前以为,苹果不支持直接从应用跳到系统设置里的WiFi界面.后来发现,这个小功能是可以实现的,而且实现起来并不麻烦.让我们一起来看看吧! 需求 从应用跳到系统设置里的WiFi界面有这个需求存在吗?答案 ...

  5. iOS 微信支付总结

    1.支付流程 https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3 商户系统和微信支付系统主要交互说明: 步骤1:用户在商户APP中选择 ...

  6. JQuery UI dialog 弹窗实例及参数说明

    按钮代码: <a id="suprise" style="margin-left: 0.5em;cursor:pointer;">点我会有惊喜< ...

  7. Activemq的连接方式

    http://blog.csdn.net/liangguo03/article/details/7011227 http://blog.csdn.net/johnnie_deng/article/de ...

  8. 从零起步搭建Wordpress个人博客——Windows 平台篇(上)

    本文以 Windows Server R2 64bit 标准版 为基础,其他windows版本可能会略有不同. 参考资料: https://codex.wordpress.org/Installing ...

  9. Learn Git and GitHub without any code!

    What is GitHub? GitHub is a code hosting platform for version control and collaboration.代码托管平台. repo ...

  10. distinct 与 group by 去重

    例如下表格:表名:fruit id Name Price Num 1 西瓜 10 2 2 西瓜 11 2 3 香蕉 10 3 4 桃子 10 2 当我想获取Name不重复的数据,结果如下 id Nam ...