一个用C语言实现的数学问题

 
1、编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。(20分)

   a12  b8  c5

   12   0    0

   *    *    * ( “*”表示当前状态下每个容器的盛水量)

   ......

   6    6   0
答案是:

#include "stdio.h"

void main() {     int a[3] = {12,0,0};     printf("a12\ta8\ta5\n");     while(a[2]!=6)     {         if(a[2]==0)         {             a[2] = 8;             a[0] = a[0]-8;             a[1] = 12-a[0]-a[2];         }         else         {             if(a[1]!=5)             {                 if(a[2]<5)                 {                     a[1] = a[2];                     a[2] = 0;                 }                 else                 {                     a[2] = a[2] - (5 - a[1]);                     a[1] = 5;                 }                             }             else             {                 a[1] = 0;                 a[0] = a[0] + 5;                }              }

     printf("%d\t%d\t%d\n",a[0],a[2],a[1]);     }       a[0]=a[0]+a[1];     a[1]=0;

    printf("%d\t%d\t%d\n",a[0],a[2],a[1]);     getch();

}

 

好久没做C语言题目,突然碰到这道题时,想了好久,都没啥思路后来参考了别人的例子才懂了。不经常做这种题,就没啥思路,所以就会感到无从入手。现在明白了,对于这种问题首先是需要建模,根据跟定的条件进行思考,总结出一些条件,然后再根据这些条件用C语言实现。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值