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

来源:互联网 发布:淘宝基金 编辑:程序博客网 时间:2024/05/29 16:33
 
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语言实现。
原创粉丝点击