猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
实现过程:
(1)先由题目定义day,x1,x2。整形变量
(2)用while语句进行实现
(3)输出结果。
代码如下:
#include<stdio.h>
int main()
{
int day, x1, x2; //定义未知数
day = 9;
x2= 1;
while (day > 0)
{
x1 = (x2 + 1) * 2; //第一天吃的是第二天的两倍
x2 = x1;
day--; //从后往前推,所以递减
}
printf("第一天摘了%d个桃子", x1);
return 0;
}
输出结果:
百钱买百鸡问题:中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
实现过程:
(1) 使用 for 语句对 3 种鸡的数嫌在事先确定好的范围内进行穷举并判断,对满足条件的 3 种鸡的数量按指定格式输出,否则进行下次循环。
(2)输出结果
代码如下:
#include<stdio.h>
int main()
{
int gj, mj, xj;
for (gj = 0; gj <= 20; gj++)
for (mj = 0; mj <= 33; mj++)
for (xj = 3; xj <= 99; xj++)
if (5 * gj + 3 * mj + xj / 3 == 100)
if (gj + mj + xj == 100)
if (xj % 3 == 0)
printf("公鸡:%d母鸡: %d小鸡: %d\n", gj, mj, xj);
return 0;
}
输出结果: