【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;
}
相关推荐
人工智能培训19 分钟前
具身智能:让人工智能拥有物理世界感知能力
大数据·人工智能·学习·算法·机器学习
tianbin91120 分钟前
批处理与微调辅助场景:Claude 中转并发、链路缓存与压测对比
java·开发语言·缓存
frjc28 分钟前
Spring AI 里 ChatClient 和 ChatModel 有什么区别?什么时候该用哪个?
java·开发语言·spring·ai
小成2023032026535 分钟前
C++~05异常处理
开发语言·c++
Wang's Blog37 分钟前
Java 项目实战: 交友项目 - 圈子功能的表设计方案
java·开发语言·交友
叼烟扛炮40 分钟前
Linux 学习笔记(二十三):深入 Ext 文件系统(下)—— 原理、缓存与软硬链接
linux·笔记·学习
stolentime1 小时前
SOS DP学习笔记
c++·笔记·学习·算法·贪心算法·动态规划·二进制
轻舟技术A1 小时前
Rust 重写 Pi:会话启动耗时降 91%,就绪内存少 78%
开发语言·后端·rust
Jack N1 小时前
【Strapi 系列之五】前端怎么接?Next.js + Tailwind 拉取 Strapi 数据(含代码)
开发语言·前端·javascript·strapi