//同上篇一样用初阶写一个计算器,这个计算器用法比较局限,只能输入两个参数,不如上个可以输入n个数字进行计算,看下诉代码:
#include<stdlib.h>
#include<stdio.h>
void menu()
{
printf("############################################\n");
printf("#########0.退出 1.加法###################\n");
printf("#########2.减法 3.乘法###################\n");
printf("#########4.除法 5.取模###################\n");
}
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 dev(int x, int y)
{
return x / y;
}
int mod(int x, int y)
{
return x%y;
}
int main()
{
int i = 0; int j = 0;
int x = 0; int y = 0;
do{
menu();
int(*arr[6])(int, int) = { 0, add, sub, mul, dev, mod };//函数指针数组,用来接受数组,
//有两个int类型的参数
kk:printf("请选择要的算法");
scanf("%d", &i);
if (i == 0)
{
return 0;
}
if (i<0 || i>5)
{
printf("输入错误,请重新输入");
goto kk;//goto语句,执行时会跳到kk。
}
printf("请输入两个数字");
scanf("%d%d", &x, &y);
int ret = arr[i](x, y);//(x,y)是给函数的两个参数赋值arr[i]是选择哪一个算法
printf("%d\n", ret);
} while (i);
system("pause");
return 0;
}
看完记得一键三连哦