C语言编写实际问题看法
来源:互联网 发布:u盘格式化数据恢复软件 编辑:程序博客网 时间:2024/05/18 20:08
试探推算具体的数值
甲乙丙三渔夫出海打渔,他们随传带21只箩筐,当晚返回是,他们发现七筐装满了鱼,还有七筐装了半筐鱼,另外七筐是空的,由于他们没有称,通过目测,七个半框是相等的,七满眶重量是相等的,若不将鱼带出来的前题下,怎样将于和筐评分为三份?
每个人应分到7个箩筐,每人各3.5筐鱼。采用3*3数组来表示三个人分到的东西。
数组的每行每列元素之和都是7;
数组行: 满筐 + 半筐 = 3.5筐;
每个人所得满筐数不会超过3筐;
每个人至少有1个半筐; (来自网络)
#include <stdio.h>
int main()
{
int a[3][3],count;
int i,j,k,m,n,flag;
printf("It exists possible distribution plans:\n");
for(i=i;i<=3;i++)//试探第一人满筐a[0][0]的值。
{
a[0][0]=i;
for(j=i;j<=7-i&&j<=3;j++)
{
a[1][0]=j;//试探第二人满筐的a[1][0]的值
if((a[2][0]=7-j-a[0][0])>3) continue;
if(a[2][0]<a[1][0]) break;//计算第三人满筐的值
for(k=1;k<=5;k+=2)
{
a[0][1]=k;//试探第一人半框的值
for(m=1;m<7-k;m+=2)
{
a[1][1]=m;//试探第二人半框的值
a[2][1]=7-k-m;
for(flag=1,n=0;flag&&n<3; n++)
if(a[n][0]+a[n][1]<7&&a[n][0]*2+a[n][1]==7)
a[n][2]=7-a[n][0]-a[n][1];
else flag=0;
if(flag)
{
printf("No.%d Full basket Semi-basket Empty\n",++count);
for(n=0;n<3;n++)
printf(" fisher%c: %d %d %d\n",'A'+n,a[n][0],a[n][1],a[n][2]);
}
}
}
}
}
return 0;
}
[root@localhost 17]# ls
allotfish allotfish.c
[root@localhost 17]# ./allotfish
It exists possible distribution plans:
No.12808737 Full basket Semi-basket Empty
fisherA: 1 5 1
fisherB: 3 1 3
fisherC: 3 1 3
No.12808738 Full basket Semi-basket Empty
fisherA: 2 3 2
fisherB: 2 3 2
fisherC: 3 1 3
- C语言编写实际问题看法
- C语言解决实际问题_001
- C语言解决实际问题_002
- 利用C语言解决实际问题
- 实际问题与C语言会擦出什么的火花
- C语言:Switch语句解决实际问题
- c语言若干看法
- C语言之实际问题——指针赋值
- 高手对C语言的看法
- 关于C语言指针的看法。
- C语言头文件的看法
- 关于C语言基础的看法d
- 对c语言的一些看法
- 【C/C++】C语言复习笔记-17种小算法-解决实际问题
- c语言的编写
- C语言代码编写
- C语言通讯录编写
- C语言编写俄罗斯方块
- jsp状态管理
- CCF NOI1072 爬楼梯
- int--String
- C#147课的主要内容
- pat B1064
- C语言编写实际问题看法
- 标准模板库
- [MapleStory项目进展]
- P1541 乌龟棋
- SDL2画点 随手记
- 腾讯笔试之“已知rand7()可以产生1~7的7个数(均匀概率),利用rand7() 产 生 rand10() 1~10(均匀概率)。”
- Unity基础.001脚本的生命周期
- 四元数的插值
- Socket.io在IOS10.3.1系统出现短线重现,transport error