why3!
#include <stdio.h>int main()
{
float n;
float p;
scanf_s("%.f", &n);
p = 10000 * (1 + n * 2.75);
printf("%.f", p);
return 0;
}
为什么输入5后会报错啊,我的发,题目是1. 有 10000 元,想存 5 年,分别求出以下三种方法存得的本息和:
一次性定期存 5 年;
先存 3 年定期,到期后本息再存 2 年定期;
存 1 年定期,到期后本息再存 1 年定期,连续存 5 次。
答案是#include <stdio.h>
#include <math.h>
int main()
{
float p0 = 10000, p1;
float r5 = 0.0275;
p1 = p0 * (1 + r5 * 5);
p2 = p0 * (1 + r3 * 3) * (1 + r2 * 2);
p3 = p0 * pow((1 + r1), 5);
printf("第一种方案的本息和是:%.2f\n", p1);
return 0;
} 本帖最后由 jackz007 于 2021-12-10 21:30 编辑
获取输入的时候,浮点数的格式描述符不可以这样写
scanf_s("%.f", &n);
必须改为
scanf_s("%f", &n);
不知道答案是不是你要的:
#include <stdio.h>
#include <math.h>
double interest(int p, float r, int t){
double res = 1 + r;
for(int i = 0; i < t; i++)
res *= (1+r);
return p*res;
}
int main()
{
int principal = 10000;
float rate = 0.0275;
double a, b, c;
/* 一次性定期存 5 年 */
a = interest(principal, rate, 5);
/* 先存 3 年定期,到期后本息再存 2 年定期 */
b = interest(principal, rate, 3);
b = interest(b, rate, 2);
/* 存 1 年定期,到期后本息再存 1 年定期,连续存 5 次 */
c = interest(principal, rate, 1);
for(int i = 1; i < 5; i++)
c = interest(c, rate, 1);
printf("a: %.2lf\n", a);
printf("b: %.2lf\n", b);
printf("c: %.2lf", c);
return 0;
}输出结果:a: 11767.69
b: 12091.07
c: 13114.60
页:
[1]