200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言实现简单的计算器(循环输入 加减乘除法可选)

C语言实现简单的计算器(循环输入 加减乘除法可选)

时间:2020-10-01 07:38:31

相关推荐

C语言实现简单的计算器(循环输入 加减乘除法可选)

要求使用函数,循环输入,有选择功能,有退出选项。

//作者:wsg//时间:8月16日//版本一:函数传参,函数调用,使用goto实现循环输入#include <stdio.h>int add(int x, int y); //申明加法函数int sub(int x, int y); //申明减法函数int mul(int x, int y); //申明乘法函数int div(int x, int y); //申明除法函数int main(void){int a, b, res;LOOP:printf("请输入两个整数:\n"); //输入要计算的两个数scanf("%d %d", &a, &b);printf("请选择功能:\n");printf("1: + \t 2: - \t 3: * \t 4: /\t 0:Exit \n");//功能面板int i;scanf("%d", &i);switch(i) //switch case来控制{case 0: //当输入0时,直接跳转到LOOP处重新开始break;case 1: //当输入1时,调用加法函数,执行加法运算res = add(a, b);printf("%d+%d=%d\n", a, b, res);goto LOOP;case 2: //当输入2时,调用减法函数,执行减法运算res = sub(a, b);printf("%d-%d=%d\n", a, b, res);goto LOOP;case 3: //当输入3时,调用乘法函数,执行乘法法运算res = mul(a, b);printf("%d*%d=%d\n", a, b, res);goto LOOP;case 4: //当输入4时,调用除法函数,执行除法运算res = div(a, b);printf("%d/%d=%d\n", a, b, res);goto LOOP;default: //如果输入的数不在0-4之间,则输入错误,跳转至LOOP处重新开始printf("Eroor!\n");goto LOOP;}return 0;}int add(int x, int y)//定义加法函数{return x+y;}int sub(int x, int y)//定义减法函数{return x-y;}int mul(int x, int y)//定义乘法函数{return x*y;}int div(int x, int y)//定义除法函数{return x/y;}

//版本二:根据运算方式给一个函数指针赋值, 并通过函数指针调用,得到正确的结果//并用while实现循环输入#include <stdio.h>int add(int x, int y); int sub(int x, int y); int mul(int x, int y); int div(int x, int y); int main(void){int (*ptr)(int x, int y); //定义一个函数指针int a, b;while(1) //使用while循环{printf("请输入两个整数:\n");scanf("%d %d", &a, &b); //输入要计算的两个数printf("请选择功能:\n");printf("1: + \t 2: - \t 3: * \t 4:/\t 0:Exit \n"); //功能选择面板int i;scanf("%d", &i);if(i == 0)break;if(i == 1){ptr = add;printf("%d+%d=%d\n", a, b, ptr(a, b));}else if(i == 2){ptr = sub;printf("%d-%d=%d\n", a, b, ptr(a, b));}else if(i == 3){ptr = mul;printf("%d*%d=%d\n", a, b, ptr(a, b));}else if(i == 4){ptr = div;printf("%d/%d=%d\n", a, b, ptr(a, b));}else{printf("Eroor!\n");}}return 0;}int add(int x, int y){return x+y;}int sub(int x, int y){return x-y;}int mul(int x, int y){return x*y;}int div(int x, int y){return x/y;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。