四则运算C语言程序
Posted 张舒瑞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四则运算C语言程序相关的知识,希望对你有一定的参考价值。
阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题
题目要求:
- 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
- 除了整数外,还要支持真分数的四则运算
题目分析:1.由于是给小学生用的,所以要求运算的时候不能有负数,因此,减法运算时,前面的数一定要大于后面的数。
2.除法运算的规则,分母不能为0。
3.题目要求支持真分数,由真分数的概念知,分子不能大于分母的数。
4.因为题目要求是随机30道题,所以运用随机生成数函数srand()和rand()。
源代码如下:
#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", p, q);
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");
}
程序运行截图:
总结:
因为只学过C语言和C++,而C++用的不是太熟,所以就选择的用C语言完成此次作业,编程用了一上午的时间,由于之前不知道随机生成函数和include<time.h>,所以在班级同学的帮助下,顺利的完成了此次作业。
这次作业不仅提高了我运用C语言编程的熟练度,还学习到了随机生成数函数。期待下次的作业练习
恩,就是这样!
以上是关于四则运算C语言程序的主要内容,如果未能解决你的问题,请参考以下文章