当前位置: 首页 > news >正文

做网站友情链接都写什么建wap手机网站

做网站友情链接都写什么,建wap手机网站,php装修门户网站源码,百度网站评分在C语言编程学习中,实现一个简易计算器是一个常见且有趣的练习项目。它不仅能帮助我们巩固基本的语法知识,如函数、循环、分支结构,还能让我们深入理解程序设计的逻辑。接下来,我们将分析三段实现简易计算器功能的C语言代码&#…

在C语言编程学习中,实现一个简易计算器是一个常见且有趣的练习项目。它不仅能帮助我们巩固基本的语法知识,如函数、循环、分支结构,还能让我们深入理解程序设计的逻辑。接下来,我们将分析三段实现简易计算器功能的C语言代码,探讨它们的特点和优势。

 

一、基础版本:简单直接的功能实现

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\n");

    printf("请选择:");

}

 

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;

}

 

int main()

{

    menu();

    int input = 0;

    scanf("%d", &input);

    int x = 0;

    int y = 0;

    printf("请输入:");

    scanf("%d%d", &x, &y);

    int ret = 0;

    switch (input)

    {

    case 1:

        ret = add(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 2:

        ret = sub(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 3:

        ret = mul(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 4:

        ret = div(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 0:

        printf("退出成功!\n");

        break;

    default:

        printf("输入错误,请重新输入!\n");

    }

    return 0;

}

 这个版本的代码结构清晰,易于理解。 menu 函数负责打印操作选项菜单,让用户选择要进行的运算。 add 、 sub 、 mul 、 div 四个函数分别实现加、减、乘、除四种基本运算。在 main 函数中,通过 switch 语句根据用户的选择调用相应的函数进行计算,并输出结果。如果用户输入0,则退出程序;输入其他无效选项时,提示错误。

 这种实现方式的优点是逻辑简单明了,初学者容易上手。但缺点也很明显,代码的扩展性和复用性较差,如果需要添加新的运算功能,需要在 switch 语句中添加新的分支,修改的地方较多。

 二、进阶版本:使用函数指针数组优化

 #define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\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 div(int x, int y)

{

    return x / y;

}

 

int main()

{

    int(*pf[5])(int, int) = { 0, add, sub, mul, div };

    int input = 0;

    int x = 0;

    int y = 0;

    do

    {

        menu();

        printf("请选择:");

        scanf("%d", &input);

        if (input == 0)

        {

            printf("退出成功!\n");

            return 0;

        }

        else if (input >= 1 && input <= 4)

        {

            printf("请输入:");

            scanf("%d%d", &x, &y);

            int ret = pf[input](x, y);

            printf("%d\n", ret);

        }

        else

        {

            printf("输入错误!");

        }

    } while (input);

 

    return 0;

}

 这个版本引入了函数指针数组 pf ,将四个运算函数的指针存储在数组中。通过 do-while 循环,不断显示菜单并获取用户输入。当用户输入有效选项时,直接通过函数指针数组调用相应的函数进行计算,大大简化了 switch 语句的复杂结构。

 这种实现方式的优势在于提高了代码的可维护性和扩展性。如果需要添加新的运算功能,只需要在函数指针数组中添加新的函数指针,而不需要大幅修改 main 函数中的逻辑。

 

三、改进版本:分离输出功能

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\n");

    printf("请选择:");

}

 

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;

}

 

void test(int m)

{

    printf("结果为:%d\n", m);

}

 

int main()

{

    menu();

    int input = 0;

    scanf("%d", &input);

    int x = 0;

    int y = 0;

    printf("请输入:");

    scanf("%d%d", &x, &y);

    int ret = 0;

    switch (input)

    {

    case 1:

        ret = add(x, y);

        test(ret);

        break;

    case 2:

        ret = sub(x, y);

        test(ret);

        break;

    case 3:

        ret = mul(x, y);

        test(ret);

        break;

    case 4:

        ret = div(x, y);

        test(ret);

        break;

    case 0:

        printf("退出成功!\n");

        break;

    default:

        printf("输入错误,请重新输入!\n");

    }

    return 0;

}

 这个版本在基础版本的基础上,将结果输出功能分离到 test 函数中。在 switch 语句的每个分支中,先调用相应的运算函数得到结果,再调用 test 函数输出结果。

 这样做的好处是将计算和输出功能解耦,使代码结构更加清晰,也便于后续对输出格式或方式进行统一修改。

 通过对这三段代码的分析,我们可以看到在C语言编程中,从简单的功能实现到逐步优化代码结构,提升代码的可维护性和扩展性是一个不断学习和进步的过程。每一次改进都体现了对C语言特性的更深入理解和应用,希望这些分析能帮助大家在C语言学习和编程实践中有所收获。

http://www.yayakq.cn/news/167179/

相关文章:

  • 网站正在建设中 页面店铺推广软文300字
  • 网站建设比较合理的流程建站公司网站 phpwind
  • 怎么用ip做网站海南新闻在线中心
  • 电脑制作网站总么做政务咨询投诉举报网站建设
  • 网站流量统计分析互联网营销外包推广
  • 网站转发浙江省建筑信息港
  • 古田网站建设小米商城官方网站入口
  • 电子商务网站建设与实践第一章课后房山青岛网站建设
  • 国外网站推荐网址大全hao123上网导航
  • 网站打不开用什么浏览器全世界做会展介绍的网站排名
  • 莱州市规划建设管理局网站wordpress获取分类导航
  • 个人可以做网站导航广州建设专业网站
  • 设计网站思路如何写网页图片提取在线
  • 做最好的导航网站房山企业网站建设公司
  • 后台的企业网站模板wordpress支持论坛
  • 兰州建设网站的网站阿里云1m宽带做网站卡吗
  • 备案时网站名称可以重复吗莆田哪里有学做网站的
  • 珠海正规网站制作系统广州市数商云网络科技有限公司
  • 网站攻击一般有那些wordpress萌主题下载
  • 网站开发详细报价wordpress媒体库查看404
  • 做购物网站的费用推广模式怎么写
  • 个人工作室网站设计怎样做网站营销
  • 创新的盐城网站开发无锡网站设计厂家
  • 郴州网站推广c 网站开发模板
  • 做盗版网站的国际购物app
  • 为什么谷歌网站打不开如何配置iis网站
  • 自助建站平台便宜苏州市现代建设咨询管理公司
  • 广州网站设计品牌建设归哪个部门管
  • 国外网站访问速度慢网页制作网站首页
  • 绿色模板网站简单的装x编程代码