使用软件——VS 2015

使用环境——C语言

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

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include

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语言编写小学四则运算程序,用C语言编写生成小学四则运算程序相关推荐

  1. python纳入小学课本了吗_Python语言为什么被推荐纳入高考和小学教材

    python语言最近两天传出将加入高考,此消息一处IT届的新闻火起来了. python语言本来就是近年来最火的语言,也是所有程序语言中搜索热词. 当前,已经确定出台消息来看: 第一条,从2018年起浙 ...

  2. 编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。

    编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性. memset这个函数的作用大致可以理解为将从指针指向的地址开始的指定字节长度的空间全部替换为指定的值.那么我们可以很 ...

  3. matlab m语言,我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言...

    导航:网站首页 > 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 匿名网 ...

  4. devc 如何编写java,Android For JNI(1)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序...

    Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...

  5. 用EasyX图形库编写动态彩色万花尺程序(c语言)

    用EasyX图形库编写动态彩色万花尺程序(c语言) 在EasyX看到别人写的万花尺程序,想起来小时候玩的,就动手改进增加了一些效果.参考程序连接(侵删):万花尺_慢羊羊 我的效果如下,输入数据:[30 ...

  6. 小学生数学测试软件编写分析,通过C语言编写小学生数学测试软件C语言课程设计...

    <通过C语言编写小学生数学测试软件C语言课程设计>由会员分享,可在线阅读,更多相关<通过C语言编写小学生数学测试软件C语言课程设计(14页珍藏版)>请在人人文库网上搜索. 1. ...

  7. 小学机器人编程用什么语言

    小学机器人编程用什么语言?对于每一个家长来说,孩子的学习一直都是他们非常关心和重视的一件大事.他们在给孩子选择学习课程的时候,也可以说是十分的用心的.会给孩子选择一些能够让孩子有竞争力的课程,就拿现在 ...

  8. c语言编译流程简单整理以及简单makefile编写

    c语言编译流程简单整理以及简单makefile编写 前言: 最近接触了makefile.为了学习makefile,就去了解了部分需要的知识,目前先简单的整理在这里. c语言编译过程 C语言在编译过程中 ...

  9. c语言程序设计阶乘输出,C语言编写10的阶乘,用C语言编程求10的阶乘

    导航:网站首页 > C语言编写10的阶乘,用C语言编程求10的阶乘 C语言编写10的阶乘,用C语言编程求10的阶乘 匿名网友: 思路:先定义一个函数求一个数的阶乘,接着依次从1到10调用该函数就 ...

  10. www的主要语言html,编写www页面所使用的语言是什么

    编写www页面所使用的语言是HTML(超文本标记语言).HTML是一种标识性的语言,它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体. 编写ww ...

最新文章

  1. 动态 Restful API 生成
  2. 为什么python除法结果会有小数点0_关于python:为什么整数除法会在许多脚本语言中向下取整?...
  3. wap打包 本地化 hbuilder_秋收接近尾声 冰城开启秸秆打包、秋整地
  4. fastdfs-配合nginx-麻烦的
  5. 【转】深入分析JAVA IO(BIO、NIO、AIO)
  6. 360Stack裸金属服务器部署实践
  7. 总结一下适合自己的看书方式
  8. 基础计算机构,基础计算与设计
  9. configure 查找依赖库_由浅入深:Python 中如何实现自动导入缺失的库?
  10. firefox与ie的javascript兼容性编程汇编【转载】
  11. Sass:@error
  12. [C#] Microsoft .Net框架SerialPort类的用法与示例
  13. spring RedisTemplate 缓存
  14. mysql skip-grant-tables my.cnf_使用SKIP-GRANT-TABLES解决MYSQLROOT密码丢失
  15. python中sys模块是干什么的_python中sys模块的介绍和使用
  16. 乐山计算机学校军训,心有多大,舞台就有多大!乐山这名中职学生考上双一流211重点大学...
  17. 计算机常用的四种加密方法,电脑常见的几种加密方法
  18. python购买股票_Python|买卖股票的最佳时机
  19. edg击败we视频_超神圣枪无情屠杀 EDG击败WE全取三分
  20. Git介绍及常用操作演示(一)--技术流ken

热门文章

  1. 大话数据结构与算法:算法初步1
  2. 关于iis中的网站,在ie下点击服务器控件无反应的问题
  3. spcomm控件的使用
  4. 用syslinux启动u盘
  5. 经典SQL语句大全 收藏
  6. python-pygame激动时刻你我共享
  7. RedHat YUM configure
  8. ShellExecuteA function
  9. C语言再学习 -- 时间函数
  10. wordpress 独立 php,wordpress怎么把所有文章分类单独在一个页面显示