• 首页
  • 资讯
  • 专家
  • 话题
  • 问题库
  • 礼品商店
  • 分类
    • 新闻资讯
    • 娱乐八卦
    • 3C数码
    • 医疗健康
    • 健康养生
    • 云盘解析
    首页   ›   正文

C语言怎么用代码实现啊?求大佬解答

2021-12-22 20:42
1907  1
IT网络 未结
关注
瘦瘦的暖宝
瘦瘦的暖宝 2021-12-22 20:42
相关标签:
1条回答
  • 喜感的大佬
    2021-12-22 21:48

    这个其实可以非常复杂的,因为有可能有多个解,且有重复的解,所以编写方法有多种,以下是最简单的一种

    #include  
    #include  
    #include  
    #define  PRECISION  1E-6
    #define  COUNT_OF_NUMBER  4
    #define  NUMBER_TO_BE_CAL 24
    double  number[COUNT_OF_NUMBER];
    char  expression[COUNT_OF_NUMBER][100];
    int Search(int n)
    {
           int i,j;
           double  a,  b;
           char  expa[100],  expb[100];
           if  (n  ==  1)
           {
                   if( fabs(number[0] - NUMBER_TO_BE_CAL) < PRECISION  )
                   {
                           printf("%s\n", expression[0] );
                           return  1;
                   }
                   else
                   {
                           return  0;
                   }
       }
           for  ( i  =  0;  i  <  n;  i++)
           {
                   for( j  =  i  +  1;  j  <  n;  j++)
                   {
                           a  =  number[i];
                           b  =  number[j];
                           number[j]  =  number[n  -  1];
                           strcpy(expa ,   expression[i]);
                   strcpy( expb  , expression[j]);
                   strcpy( expression[j]  ,  expression[n  -  1]);
                           sprintf(expression[i],"(%s+%s)",expa , expb);
                           number[i]  =  a  +  b;
                           if  (  Search(n  -  1)  )  return  1;
                           sprintf(expression[i],"(%s-%s)",expa , expb);
                           number[i]  =  a  -  b;
                           if  (  Search(n  -  1)  )  return  1;
                           sprintf(expression[i],"(%s-%s)",expb , expa);
                           number[i]  =  b  -  a;
                           if  (  Search(n  -  1)  )  return  1;
                           sprintf(expression[i],"(%s*%s)",expa , expb);
                           number[i]  =  a  *  b;
                           if  (  Search(n  -  1)  )  return  1;
                           if  (b  !=  0)
                           {
                           sprintf(expression[i],"(%s/%s)",expa , expb);
                                   number[i]  =  a  /  b;
                                   if  (  Search(n  -  1)  )  return  1;
                           }
                           if  (a  !=  0)
                           {
                               sprintf(expression[i],"(%s/%s)",expb , expa);
                                   number[i]  =  b  /  a;
                                   if  (  Search(n  -  1)  )  return  1;
                           }
                           number[i]  =  a;
                           number[j]  =  b;
                           strcpy(expression[i] , expa);
                           strcpy(expression[j] , expb);
                   }
           }
           return  0;
    }
    void  main()
    {
       int i,x;
                           char  buffer[20];
                   printf("请输入4个数:");
                   for  (i = 0; i < COUNT_OF_NUMBER; i++)
                   {
                   scanf("%d",&x);
                           number[i]  =  x;
                           itoa(x,  buffer,  10);
                           strcpy(expression[i] ,  buffer);
                   }
                   if  (  !Search(COUNT_OF_NUMBER)  )
              printf("无解!\n");
    }

    0
 看不清?
提交回复

如本站内容“对您有用”,欢迎随意打赏,让我们持续更新!

打赏
游客
登录后展示个人签名去登录
0文章 0问题 0回答 0点赞
写作
发布问题
发布文章
关注微信
加QQ群370431002
随机文章
手脚发热是怎么回事 手脚发热如何调理
2021-12-05 00:18:42
年底再现假运营商“积分清零”短信!中消协提醒小心被骗
2023-04-29 09:56:40
曾被批是新时代IE:苹果发布新版Safari 修复Bug提高性能
2022-03-05 08:41:50
真我GT2大师探索版来了:195g机身塞入5000mAh大电池
2022-07-14 13:29:07
股神巴菲特加码可再生能源:斥资40亿美元投建风电光电项目
2022-02-19 08:30:56
打哈欠真的会传染?频繁打哈欠 可能是得了这些病
2021-12-04 20:16:45
价格更亲民:苹果今年将推M2 MacBook Pro
2022-02-19 08:55:04
10月30日新疆疫情最新数据公布 喀什新增无症状感染者14例
2021-12-05 22:17:55
桂圆吃多了会怎样 荔枝吃多了有什么危害
2021-12-05 22:50:27
新疆一名女子去闺蜜的出租房帮忙搬家 随手拉开衣柜门一看当场愣住
2021-12-09 20:57:08
女子雪天追尾前车!保险公司出现场又把她追尾了
2021-12-29 07:53:06
判定次密接和高筛 可能就差一个口罩的距离?
2022-03-12 08:48:31
湿气最怕的三种水果 湿气重的表现症状有哪些
2022-02-19 09:16:32
淀粉类食物吃多了会怎么样 淀粉类食物吃多了有什么影响吗
2022-02-19 09:03:57
鹿茸的功效及食用方法 鹿茸的功效及食用方法有哪些
2021-12-29 07:34:38
热门标签
智能手机为何越卖越贵 马斯克加速抢滩一文了解脑机接口 凛冬将至苹果还能靠iphone支撑多久 新野蛮人马斯克 630wrtx 4090解锁极限功耗 马斯克没有打价格战的基因 ipad营收锐减卖不动了 小米13 lite现身小米13家族最便宜版本 感受守护网络安全的黑科技app 感受守护网络安全的黑科技 新一代影像性能旗舰努比亚z50官宣 黑亚当纽约首映式 黑亚当创下巨石强森个人最好成绩 超人归来电影免费观看 超人回归dc 超人回归 贝鲁奇谈贝鲁奇 辐射剧集首张剧照 大超与白狼不可兼得 用废品造的iphone你会买单吗
Copyright © 2025 网站备案号: 闽ICP备2020021158号-10 本站所有信息来自于互联网或网友上传,如有侵权,敬请来信联系我们,1494738443@qq.com 我们立刻删除。
responsive_hankin 主题. Designed by 极速问答社区
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付