c语言子函数实现四则运算 c语言编写的四个子函数

如何利用c语言利用子函数实现四则运算 加,减,乘,除

#includestdio.h

创新互联公司主营城中网站建设的网络公司,主营网站建设方案,app软件定制开发,城中h5小程序开发搭建,城中网站营销推广欢迎城中等地区企业咨询

void add(float a,float b)

{

printf("%f",a+b);

}

void sub(float a,float b)

{

printf("%f",a-b);

}

void mul(float a,float b)

{

printf("%f",a*b);

}

void div(float a,float b)

{

printf("%f",a/b);

}

int main()

{

int c;

float a,b;

printf("两数相加,选1;\n");

printf("两数相减,选2;\n");

printf("两数相乘,选3;\n");

printf("两数相除,选4.\n");

scanf("%d",c);

if(c!=1c!=2c!=3c!=4)

{

printf("输入不合法!!");

exit(0);

}

printf("请输入操作数a和b:");

scanf("%f%f",a,b);

switch(c)

{

case 1:add(a,b);break;

case 2:sub(a,b);break;

case 3:mul(a,b);break;

case 4:div(a,b);break;

}

return 0;

}

c语言里的四则运算

下面是个完整的程序,我测试通过符合你的要求,你在看看,我写的模块化实现,给你贴的有些乱,

函数声明如果在一个.c 文件把所有的子函数都在前面在声明一下,不是很复杂,

#include stdio.h

#include math.h

(#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 stdio.h

#include math.h

void division(float a,float b)

{

float div;

div=a/b;

printf("%.3f\n",div);

}

#include stdio.h

#include math.h

void multiplication(float a,float b)

{

float mul;

mul=a*b;

printf("%.3f\n",mul);

}

#include stdio.h

#include math.h

void subtraction(float a,float b)

{

float ch;

ch=a-b;

printf("%.3f\n",ch);

}

#include stdio.h

#include math.h

void sum(float a,float b)

{

float he;

he=a+b;

printf("%.3f\n",he);

}

C语言编写四则运算

请先给出明确答复:因为程序规定的是先输入操作符,再输入两个操作数

解释原因:请看下面部分的代码

第一个scanf("%c",oper);这一句要求输入一个(注意是一个)字符格式的值,给oper;

如果你输入一个数字、英文等等,假如你第一个输入的是10,那oper就是1,而不是10,因为%c一次只能读取一个字符;

接下来,输入第二第三个,程序再往下就会拿oper判断,如果oper等于-号,就会执行减法,如果等于+号就会执行加法;

所以你输入的操作数是不会匹配任何运算符,就不能进行运算。

有无解决办法:

调换语句顺序:复制第一个printf那一行与第一个scanf那一行,注意这两行printf在scanf的上面,把这两句放到第二个scanf之后,第三个print之前。就能输入 1 空格 + 空格 2 回车,这种的


文章名称:c语言子函数实现四则运算 c语言编写的四个子函数
标题来源:http://hbruida.cn/article/hiigcg.html