【C语言】每日一题,快速提升(4)!

🔥 博客主页🔥 :【 坊钰_CSDN博客

欢迎各位点赞👍 评论**✍收藏⭐**

题目:实现计算机程序

解答:

该程序运用函数指针数组,具体请看代码

代码:

cs 复制代码
#include <stdio.h>
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 x, y;
    int input = 1;
    int ret = 0;
    int(*p[5])(int x, int y) = { 0, add, sub, mul, div }; //函数指针数组
    do
    {
        printf("*************************\n");
        printf("  1:add           2:sub  \n");
        printf("  3:mul           4:div  \n");
        printf("         0:exit          \n");
        printf("*************************\n");
        printf("请选择:");
        scanf("%d", &input);
        if ((input <= 4 && input >= 1))
        {
            printf("输入操作数:");
            scanf("%d %d", &x, &y);
            ret = (*p[input])(x, y);
            printf("ret = %d\n", ret);
        }
        else if (input == 0)
        {
            printf("退出计算器!\n");
        }
        else
        {
            printf("输入有误!\n");
        }
    } while (input);
    return 0;
}
相关推荐
低代码布道师9 分钟前
Next.js 16 全栈实战(三):数据库建模与动态菜单实现
开发语言·javascript·数据库
MediaTea23 分钟前
Python:生成器对象的扩展接口
开发语言·网络·python
前路不黑暗@25 分钟前
Java项目:Java脚手架项目的模板服务和网关服务的实现(三)
java·开发语言·spring boot·git·学习·spring cloud·maven
你怎么知道我是队长37 分钟前
C语言---排序算法8---递归快速排序法
c语言·算法·排序算法
白太岁43 分钟前
操作系统开发:(8) 任务/线程的创建、调度与管理(实现 tasks.h 与 tasks.c)
c语言·开发语言·bash
Zachery Pole1 小时前
JAVA_06_方法
java·开发语言
寒秋花开曾相惜1 小时前
(学习笔记)2.1 信息存储(2.1.1 十六进制表示法)
笔记·学习
LSL666_1 小时前
10 集群
java·开发语言·数据库·redis·集群
好家伙VCC1 小时前
# 发散创新:基于Python的轻量级测试框架设计与实践 在现代软件开发中,**自动化
java·开发语言·python·自动化
cameron_tt1 小时前
定时器中断应用 HC-SR04超声波测距模块、定时器输出PWM应用 控制SG90舵机
c语言·嵌入式硬件