C语言实例:计算国王发放金币总数
C语言实例:计算国王发放金币总数
问题描述:
国王决定用一种特殊的方式奖励他忠诚的骑士。第一天,骑士会收到1枚金币;接下来的两天,每天收到2枚金币;接下来的三天,每天收到3枚金币,以此类推。编写一个C程序,根据给定的天数,计算骑士获得的金币总数。
**代码示例:**c#include <stdio.h>
int calculateCoins(int days) { int coins = 0; int currentDay = 1; int count = 0; while (count < days) { for (int i = 0; i < currentDay && count < days; i++) { coins += currentDay; count++; } currentDay++; } return coins;}
int main() { int days; printf('请输入发放金币的天数: '); scanf('%d', &days); int totalCoins = calculateCoins(days); printf('获得的金币总数为:%d ', totalCoins); return 0;}
代码解释:
-
calculateCoins函数: - 接收一个整数days作为参数,表示发放金币的天数。 - 使用三个变量: -coins:存储金币总数,初始值为 0。 -currentDay:表示当前天数,初始值为 1。 -count:记录已发放金币的天数,初始值为 0。 - 使用while循环迭代天数,直到count等于days。 - 在while循环内部,使用for循环模拟每天发放金币的逻辑。 - 在每次迭代中,将currentDay的值加到coins中,并将count增加 1。 -for循环结束后,将currentDay增加 1,进入下一天的计算。 - 最后,返回计算得到的coins值。 -
main函数: - 提示用户输入发放金币的天数,并使用scanf函数读取输入值。 - 调用calculateCoins函数计算金币总数。 - 打印计算结果。
示例输入输出:
请输入发放金币的天数:10获得的金币总数为:30
这段代码清晰地展示了如何使用循环结构解决问题。它简单易懂,适合初学者理解C语言的基本语法和逻辑思维。
原文地址: http://www.cveoy.top/t/topic/bzqz 著作权归作者所有。请勿转载和采集!