加减乘除法运算(函数数组指针法)
#include<stdio.h>double add(double x, double y)//加{ return x + y;}double sub(double x, double y)//减{ return x - y;}double mul(double x, double y)//乘{ return x*y;}double div(double x, double y)//除{ if (y != 0) { return x/y; } else { printf("输入错误"); return -1; }}void menu(){ printf("************************\n"); printf("***1.add 2.sub***\n"); printf("***3.mul 4.div***\n"); printf("******* 0..exit ********\n"); printf("************************\n");}int main(){ int input = 1; double a = 0; double b = 0; double ret; double(*p[5])(double a, double b) = { 0, add, sub, mul, div }; while (input) { menu(); printf("请输入需要的操作:\n"); scanf("%d",&input); if (input > 0 && input <= 4) { printf("请输入操作数:\n"); scanf("%lf%lf",&a,&b); ret = (*p[input])(a, b); printf("%.2lf\n", ret); } else if (0==input) { break; } else { printf("输入错误"); } } return 0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。