持续更新(1)、巩固一下C语言基础知识,顺便散分

Vincent_Song
博客专家认证
2011-11-04 06:02:56
参加的一个比赛里面的基础性的C语言小程序编写,大家都练习一下,巩固一下基础知识,不准拷贝别人的代码,自己写,写完贴代码就行了。

问题:

编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。(20分)
a12 b8 c5
12 0 0
* * * ( “*”表示当前状态下每个容器的盛水量)
......
6 6 0
...全文
112 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vincent_Song 2011-11-04
  • 打赏
  • 举报
回复
够基础吧,虽然简单,关键是能够写出来,写过之后肯定对你的基础有所加强和巩固。
Vincent_Song 2011-11-04
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int i_w[]= {12,0,0};
printf("a12 b8 c5\n");
while(i_w[0]!=6)
{
if(i_w[1]==0)
{
i_w[1]=8;
i_w[0]=i_w[0]-8;
i_w[2]=12-i_w[0]-i_w[1];
}
else
{
if(i_w[2]<5)
{
if(i_w[1]>(5-i_w[2]))
{
i_w[1]-=5-i_w[2];
i_w[2]=5;
i_w[0]=12-i_w[1]-i_w[2];
}
else
{
i_w[2]+=i_w[1];
i_w[1]=0;
i_w[0]=12-i_w[1]-i_w[2];
}
}
else
{
i_w[0]+=i_w[2];
i_w[2]=0;
i_w[1]=12-i_w[0]-i_w[2];
}
}
printf("%d %d %d\n",i_w[0],i_w[1],i_w[2]);
}

system("PAUSE");
return 0;
}
Vincent_Song 2011-11-04
  • 打赏
  • 举报
回复
呵呵,都不要眼高手低,动手写出来才是正道。
xiaoyongguan 2011-11-04
  • 打赏
  • 举报
回复
哎。。看过的题目。。15秒内回答。先8进5剩3,3进5.。。8满进5,剩6.。
qq120848369 2011-11-04
  • 打赏
  • 举报
回复
自己搜我的代码,在论坛写过。

广搜就行了。
  • 打赏
  • 举报
回复
只有两个容器?
flowingfirefly 2011-11-04
  • 打赏
  • 举报
回复
解题ing。。。。
编程点滴 2011-11-04
  • 打赏
  • 举报
回复
这根本就是一道数学题
robin12210325 2011-11-04
  • 打赏
  • 举报
回复
看不出来呀
pdszcxhh 2011-11-04
  • 打赏
  • 举报
回复
想了一下,暂时没有思路
codesnail 2011-11-04
  • 打赏
  • 举报
回复
这与c语言有什么关系?

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧