功能介绍
用C语言实现整形简单的加减乘除操作(通常方法与使用函数指针数组的方法)
代码实现
- 方法一
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
#include<stdlib.h>int main()
{while (1){double x = 0, y = 0, ret = 0;//定义运算量以及结果char operator;//定义运算符printf("******************************\n");printf("请输入算式:>");scanf("%lf%c%lf", &x, &operator, &y);//输入算式switch (operator)//通过switch case语句控制加减乘除运算{case '+':ret = x + y;//加法运算break;case '-':ret = x - y;//减法运算break;case '*':ret = x * y;//乘法运算break;case '/':ret = x / y;//除法运算break;default:printf("输入错误,请重新输入!\n");}printf("%lf %c %lf = %lf\n", x, operator, y, ret);//输出结果}system("pause");return 0;
}
在VS2017环境下运行,结果如下图:
- 方法二(使用函数指针数组实现)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void menu()
{printf("*************************\n");printf(" 1:add 2:sub \n");printf(" 3:mul 4:div \n");printf("*************************\n");
}
int _add(int a, int b)
{return a + b;
}
int _sub(int a, int b)
{return a - b;
}
int _mul(int a, int b)
{return a * b;
}
int _div(int a, int b)
{return a / b;
}
int main()
{int a = 0, b = 0;int input = 0;int ret = 0;int(*p[5])() = { 0, _add, _sub, _mul, _div };while (1){menu();printf("请选择:>");scanf("%d", &input);if (input <= 4 && input >= 1){printf("请输入操作数:>");scanf("%d%d", &a, &b);ret = (*p[input])(a, b);}else{printf("输入有误!\n");}printf("ret = %d\n", ret);}system("pause");return 0;
}
在VS2017环境下运行,结果如下图: