② 年增长率不在程序中指定,改用 scanf 函数语句输入,分别输入 7%,8%,10%。观察结果。 ③ 在程序中增加 printf 函数语句,用来提示输入什么数据,说明输出的是什么数据。
时间: 2024-10-19 16:03:22 浏览: 13
在C语言中,如果你想让用户通过`scanf`函数动态输入年增长率,你可以修改之前的代码结构,让它接受用户的输入,并在程序中添加适当的提示信息。以下是这样的示例:
```c
#include <stdio.h>
#include <math.h>
// 定义函数用于计算最终值
double calculateGrowth(double annualRate, int years) {
double growthFactor = pow(1 + annualRate, years);
return growthFactor;
}
int main() {
// 提示用户输入年增长率
printf("请输入第一年的年增长率(以百分比表示,例如输入 '7%'): ");
char input[10];
scanf("%s", input); // 输入字符串,然后转换为浮点数
double rate1 = atof(input) / 100.0; // 转换成小数形式并除以100
printf("请输入第二年的年增长率(同样以百分比表示): ");
scanf("%s", input);
double rate2 = atof(input) / 100.0;
printf("请输入第三年的年增长率(再次以百分比表示): ");
scanf("%s", input);
double rate3 = atof(input) / 100.0;
int years = 10;
double finalValueMultiplier1 = calculateGrowth(rate1, years);
double finalValueMultiplier2 = calculateGrowth(rate2, years);
double finalValueMultiplier3 = calculateGrowth(rate3, years);
// 输出结果提示
printf("\n10年后,各年份的国民生产总值相对于现在的增长分别是:\n");
printf("第一年:%.2f 倍\n", finalValueMultiplier1);
printf("第二年:%.2f 倍\n", finalValueMultiplier2);
printf("第三年:%.2f 倍\n", finalValueMultiplier3);
return 0;
}
```
这个版本的程序首先提示用户输入三个年增长率,然后利用这些输入值计算10年后的增值倍数,并显示出来。每次用户输入完一个增长率后,都会有一个相应的结果提示。
阅读全文