【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;
}
相关推荐
2401_8919573120 小时前
简单了解一下智能指针(C++)
开发语言·c++
archko20 小时前
用rust写了一个桌面app,就不再想用kmp了
开发语言·后端·rust
星释20 小时前
Rust 练习册 109:深入探索列表关系判断
开发语言·后端·rust
lsx20240620 小时前
Python3 实例
开发语言
老华带你飞20 小时前
作业管理|基于Java作业管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
JIngJaneIL20 小时前
基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
星释20 小时前
Rust 练习册 110:探索倍数之和的数学之美
开发语言·后端·rust
盐焗西兰花20 小时前
鸿蒙学习实战之路 - 应用间链接最佳实践
学习·华为·harmonyos
m0_4711996320 小时前
【JavaScript】forEach 和 map 核心区别(附示例+选型)
开发语言·前端·javascript
pengzhuofan20 小时前
用AI武装你的学习:高效掌握Java新技术的方法论
java·人工智能·学习