四则运算C语言程序
2016-03-12 12:13
363 查看
#include<stdio.h> #include<Windows.h> #include<time.h> void main() { int a, b, c, d,i,m,n; float p, q; srand(unsigned( time(NULL))); for (i = 0; i < 30; i++) { a = rand() % 100; b = rand() % 100; c = rand() % 5; switch (c) { case 0: printf("%d + %d =\n", a, b); break; case 1:if (a < b) { d = a; a = b; b = d; } printf("%d - %d =\n", a, b); break; case 2:printf("%d * %d =\n", a, b); break; case 3: while (b == 0) { b = rand() % 100; } printf("%d / %d =\n", a, b); break; case 4: a = rand() % 100; b = rand() % 100; m = rand() % 100; n = rand() % 100; c = rand() %4 ; while (b == 0) { b = rand() % 100; } while (n == 0) { n = rand() % 100; } if (a > b) { d = a; a = b; b = d; } if (m > n) { d = m; m = n; n = d; } switch (c) { case 0:printf("%d/%d + %d/%d =\n", a, b, m, n); break; case 1: p = (float)a / (float)b; q = (float)m / (float)n; if (p < q) { d = a; a = m; m = d; d = b; b = n; n = d; } printf("%d/%d - %d/%d =\n", a,b,m,n); break; case 2:printf("%d/%d * %d/%d =\n", a, b, m, n); break; case 3: a = rand() % 100; b = rand() % 100; m = rand() % 100; n = rand() % 100; c = rand() % 4; while (m == 0) { m = rand() % 100; } printf("%d/%d / %d/%d =\n", a, b, m, n); break; } } } system("pause"); }
阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题
题目要求:
能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
除了整数外,还要支持真分数的四则运算
题目分析:1.由于是给小学生用的,所以要求运算的时候不能有负数,因此,减法运算时,前面的数一定要大于后面的数。
2.除法运算的规则,分母不能为0。
3.题目要求支持真分数,由真分数的概念知,分子不能大于分母的数。
4.因为题目要求是随机30道题,所以运用随机生成数函数srand()和rand()。
程序运行截图:
总结:
因为只学过C语言和C++,而C++用的不是太熟,所以就选择的用C语言完成此次作业,编程用了一上午的时间,由于之前不知道随机生成函数和include<time.h>,所以在班级同学的帮助下,顺利的完成了此次作业。
这次作业不仅提高了我运用C语言编程的熟练度,还学习到了随机生成数函数。期待下次的作业练习
恩,就是这样!
相关文章推荐
- C++ 通过友元函数对类进行iostream流重载
- C++/C中的预处理命令;
- C++ 面试题
- 《你必须知道的495个C语言问题》读书笔记之第4-7章:指针
- 数值的整数次方
- C++中输入输出缓冲区的刷新
- 对C语言中指针的理解与其基础使用实例
- [手游新项目历程]第6天-二进制值和十六进制字符串相互转换的C++代码
- C和C++ const的声明差异
- C和C++ const的声明差异
- 简单了解C语言中直接插入排序与直接选择排序实现
- C++ constexpr类型说明符
- C++ constexpr类型说明符
- 关于C++中友元的理解和应用
- c++中引用和指针的区别
- c++中的模板
- C语言终极面试及答案分析
- C++拷贝构造函数与赋值函数的异同
- 《More Effective C++》Rule7:千万不要重载 &&, ||, 和 ,操作符
- 二进制中1的个数