作业帮 > 综合 > 作业

c语言里的四则运算给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果,表达式的格式为:s1 op

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 15:19:44
c语言里的四则运算
给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果,
表达式的格式为:s1
op s2,s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符,
如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong
input!".最后结果小数点后保留两位.
除数是0,用|s2|<1e-10(即10的-10次方)判断.
谁能给我一个完整的程序,这是老师留的作业,能让我直接交上去的
下面是个完整的程序,我测试通过符合你的要求,你在看看,我写的模块化实现,给你贴的有些乱,
函数声明如果在一个.c 文件把所有的子函数都在前面在声明一下,不是很复杂,
#include
#include
(#include "head.h" ) //自己定义的一定要用双引号括起来
//如果用尖括号就会出错
//这里包含的.h 文件时各个子函数的声明可以去掉
//函数功能:实现了减加乘除运算
void main()
{
void (*p)(float ,float); //定义指向函数的指针变量
float a,b; //上面的语句有些难度,相当于一个函数
char logo;
puts("输入两个数和想要的操作:\n");
scanf("%f%c%f",&a,&logo,&b);
while(1)
{switch(logo)
{
if((logo=='+')&&(logo=='-')&&(logo=='/')&&(logo=='*'))
{case '+':p = sum; (*p)(a,b);break; //这里就把指针给加
case '-':p = subtraction; (*p)(a,b);break; //同上
case '/':p = division; (*p)(a,b);break; //同上 给除
case '*':p = multiplication; (*p)(a,b);break;
default:break;
}
else
printf("输入错误重新输入")
}
}
}
#include
#include
void division(float a,float b)
{
float div;
div=a/b;
printf("%.3f\n",div);
}
#include
#include
void multiplication(float a,float b)
{
float mul;
mul=a*b;
printf("%.3f\n",mul);
}
#include
#include
void subtraction(float a,float b)
{
float ch;
ch=a-b;
printf("%.3f\n",ch);
}
#include
#include
void sum(float a,float b)
{
float he;
he=a+b;
printf("%.3f\n",he);
}