头发 发表于 2020-10-14 14:52:02

请问这有什么问题吗?

题目:他决定存到银行三年,等到高一的时候再做其他投资,不过,他不想存3年定期,而是每次存1年,到期把本金和利息再全部存1年。已知1年期的年利率是b,编程求3年后他可以拿到手多少钱,输出精确到分。
#include<stdio.h>
int main()
{
        int a;
        double b,c,d,e,f;
        scanf("%d%f",&a,&b);
        c=a*b;
        d=(a+c)*b;
        e=(a+c+d)*b;
        f=a+c+d+e;
       
        printf("%.2f",f);
       
        return 0;
}
运行完结果错误 只显示a的值

昨非 发表于 2020-10-14 14:55:45

#include<stdio.h>
int main()
{
        int a;
        double b, c, d, e, f;
        scanf("%d,%lf", &a, &b); //double型用%lf,以逗号分隔开
        c = a * b;
        d = (a + c) * b;
        e = (a + c + d) * b;
        f = a + c + d + e;

        printf("%.2f", f);

        return 0;
}

昨非 发表于 2020-10-14 14:56:49

输入时:
float型输入用%f
double型输入用%lf

输出时:
最好是都用%f输出
在G++中,double类型若用%lf输出可能会错,
而在C++中,double类型用%lf输出是正确的

满意的话,还请设置个最佳

头发 发表于 2020-10-14 14:57:41

昨非 发表于 2020-10-14 14:55


老哥 我运行完还是只显示a的值

头发 发表于 2020-10-14 14:58:31

昨非 发表于 2020-10-14 14:56
输入时:
float型输入用%f
double型输入用%lf


我用的是C语言

昨非 发表于 2020-10-14 14:58:48

头发 发表于 2020-10-14 14:57
老哥 我运行完还是只显示a的值

什么只显示a的值

头发 发表于 2020-10-14 14:59:23

昨非 发表于 2020-10-14 14:58
什么只显示a的值

输入1000 4.53 回车后显示1000

昨非 发表于 2020-10-14 14:59:54

输入1000,0.02

然后回车
显示1061.21

昨非 发表于 2020-10-14 15:00:42

头发 发表于 2020-10-14 14:59
输入1000 4.53 回车后显示1000

我注释里写了以逗号隔开。。。。

头发 发表于 2020-10-14 15:03:26

昨非 发表于 2020-10-14 14:59
输入
然后回车
显示

感谢我知道咋回事了

昨非 发表于 2020-10-14 15:03:49

#include<stdio.h>
int main()
{
        int a;
        double b, c, d, e, f;
        scanf("%d %lf", &a, &b); //double型用%lf,以逗号分隔开
        c = a * b;
        d = (a + c) * b;
        e = (a + c + d) * b;
        f = a + c + d + e;

        printf("%.2f", f);

        return 0;
}


这个以空格隔开也可以
页: [1]
查看完整版本: 请问这有什么问题吗?