使用软件——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. xamarin(3.9.236)里DATETIMENOW的错误。

    [ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: monodroid_get_system_property ...

  2. Startcom SSL证书申请 IIS设置 配置 攻略

    申请具体参考:http://www.cnblogs.com/yibinboy/p/6137426.html 制作要导入服务器IIS上的证书. 点击控制面板的左上角的TOOL BOX,然后点击Creat ...

  3. linux zip命令使用

    1.压缩文件zip -r result.zip /data/*.* //将data这个目录下的所有文件进行压缩,并形成result.zip压缩文件2.分卷压缩文件zip -s 1g result.zi ...

  4. 【powerdesigner】将pdm或者cdm保存为普通图片格式

    1.首先全选或者选择你要保存的元素[Ctrl+A] 2.Edit---->Export  Image

  5. Java EE之servlet实现用户登录

    1.在连接数据库的JAVA类中添加查询功能: 在这之前有一个连接数据库的方法: Connection conn=null; PreparedStatement stat=null;           ...

  6. linux 查找文件和搜索文件

    按照文件名搜索 find . -name 'file name' grep -lr 'content'  filepath

  7. [资料分享]SQL Server 2016/2014/2012/2008简体中文企业版下载+对应补丁

    为什么只提供企业版下载呢?因为不管你是学生还是工作研究人员,企业版都是功能最为齐全的一个版本,比如企业版都集成了SQL Server Management Studio管理界面(俗称企业管理器的可视化 ...

  8. 编译原理词法分析 java简单实现

    package com.csray; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundEx ...

  9. 常用str函数

    echo stripslashes("Who\'s Bill Gates?"),'<br />';//去掉反斜杠 echo strtolower("AABbb ...

  10. 二、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    2.收信息来到表单提交时URL所指向的servlet文件,获取传递过来的参数值