"VC6编程实验:母牛生小牛问题求解"

需积分: 10 2 下载量 107 浏览量 更新于2024-01-12 收藏 315KB DOC 举报
"c ,编程,上机操作题;了解编程类题型,无论实验还是课程设计都有好处。 一.母牛生小牛:请使用VC6打开考生目录下的工作区文件cattle.dsw。此工程包含一个源程序文件cattle.cpp,完成如下功能,若一头小母牛,从出生起第四个年头开始,每年生一头母牛。按此规律,第n年时有多少头母牛? (n由键盘输入)。但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线: ```cpp #include<iostream> using namespace std; int main() { int n; cout << "请输入年数:"; cin >> n; int count; // 记录母牛数量 if (n < 4) { count = n; } else { count = 4; // 初始的4头母牛 int last1 = 1; // 上一年的母牛数量 int last2 = 0; // 上上年的母牛数量 int last3 = 0; // 上上上年的母牛数量 for (int i = 4; i <= n; i++) { count += last3; // 每年新增的母牛数量为上上上年的数量 last3 = last2; // 上上年的数量变成上上上年的数量 last2 = last1; // 上一年的数量变成上上年的数量 last1 = count; // 当前年的数量变成上一年的数量 } } cout << "第" << n << "年时有" << count << "头母牛。" << endl; return 0; } ``` 通过对上述代码的分析,可以发现题目要求的功能可以通过迭代计算实现。根据题目描述,第一年时只有一头母牛,第二年时有两头母牛,第三年时有三头母牛,而从第四年开始,每年都会新增一头母牛。 因此,我们可以使用变量`count`来记录当前年份时的母牛数量。初始化时,如果输入的年数`n`小于4,则直接将`count`设为`n`,否则将`count`设为4,表示前三年的母牛数量。而后面的迭代计算则从第四年开始,每年新增的母牛数量等于上上上年的母牛数量,即`count += last3`。同时,还需要更新上一年、上上年和上上上年的母牛数量。具体实现时,可以使用3个变量`last1`、`last2`和`last3`分别代表上一年、上上年和上上上年时的母牛数量。 最后,将计算得到的母牛数量输出即可。 总之,本题要求编写一个程序,根据输入的年数,计算第n年时母牛的数量。通过对题目要求的规律进行分析,可以得到相应的计算方法,并将其实现为C++代码。在代码中,使用迭代的方式计算每年的母牛数量,并通过更新上一年、上上年和上上上年的母牛数量来实现。最终,将计算结果输出到屏幕上。这道题目的解答过程对于编程的初学者来说是一个很好的练习,通过思考和编写代码,可以提高对于编程题型的理解和应用能力。无论是在实验还是课程设计中,掌握这样的编程题型都是非常有益的。"