搜索
查看: 603|回复: 5
打印 上一主题 下一主题

银行利息问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-18 02:49:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <math.h>
void main()
{
printf("please enter rate,year,capital");
    float rate,year,capital,deposit;
    scanf("%f %f %f",&rate,&year,&capital);
    deposit=capital*pow(1+rate,year);
    printf("%f\n",&deposit);
    printf("Press any key to continue");
system("pause");

    return 0;
}
这是一个银行利息问题,输出的结果是存钱以后的总额
我的问题是为什么我输入数据以后输出的结果是0.000000,还有就是float不是表示小数的吗?为什么这里的年数和钱数会是整数但依然使用float语言,我在网上百度看别人处理这些问题时使用的是float而不是int
这网页好坑,上一个号没金币了只能重新注册........

沙发
发表于 2014-10-18 08:30:55 | 只看该作者
  1. float
复制代码
改为
  1. double
复制代码
,所有
  1. %f
复制代码
改成
  1. %lf
复制代码

因为float会有精度损失,经常不准确
板凳
 楼主| 发表于 2014-10-18 11:55:15 | 只看该作者
4399APPLE 发表于 2014-10-18 08:30
改为,所有改成
因为float会有精度损失,经常不准确

大神我想问一下如果我想在程序界面please enter rate,year,capital之后输入数据
please enter rate,year,capital:2.25,1,10000
然后直接输出答案需要怎么修改代码?
地板
发表于 2014-10-18 12:25:24 | 只看该作者
  printf("%f\n",&deposit);
这里取地址干什么?
5#
发表于 2014-10-18 12:48:44 | 只看该作者
你的思路比较模糊
我都不太清楚,如果正确的话应该是这样,不知道是不是你想要的结果
[mw_shl_code=c,true]#include <stdio.h>
#include <math.h>
void main()
{
printf("please enter rate,year,capital");
    double rate,year,capital,deposit;
    scanf("%lf %lf %lf",&rate,&year,&capital);
    deposit=capital*pow(1+rate,year);
    printf("%lf\n",deposit);
    printf("Press any key to continue");
system("pause");

    return 0;
}[/mw_shl_code]
6#
发表于 2014-10-19 15:44:44 | 只看该作者
哦,大神,為毛打不出中文?        enter後
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表