标题:浮点数的输出讨论
取消只看楼主
朝F
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2019-11-7
结帖率:66.67%
已结贴  问题点数:20 回复次数:0 
浮点数的输出讨论

#include<stdio.h>
int main()
{
    int count,year;
    float interest,rate,sui=0.05,total;
    printf("请输入你想存多少的钱:\n");
    scanf("%d",&count);
    printf("请输入你想存几年:\n");
    scanf("%d",&year);
    switch(year)
    {
        case 1:
        printf("你想存一年的话rate=1.14那么可以得利息有:\n");
        rate=0.0114;
        interest=count*rate*year*(1-sui);
        break;
        case 2:
        printf("你想存两年的话rate=2.08可得的利息有:\n ");
        rate=0.0208;
        interest=count*rate*year*(1-sui);
        break;
        case 3:
        printf("你想存三年的话rate=3.20可得的利息有:\n ");
        rate=0.0320;
        interest=count*rate*year*(1-sui);
        break;
        case 4:
        printf("你想存四年的话rate=4.15可得的利息有:\n ");
        rate=0.0415;
        interest=count*rate*year*(1-sui);
        break;
    }
   
    total=count+interest;
    printf("那么你可得的利息有%5.1f",interest);
    printf("\n你可得的本金加利息有%-6f",total);
    return 0;
}
我输入count为5000存期为两年,最后一行的输出为5197.600098,那么我问题来了我设置的%-6f
宽度的限制作用去哪了?6个宽度理论不应该输出5197.6吗?后面为啥跟那么多零?
而设置%6.1f时候才输出5197.6,如果我设置%1.1f,最后输出也是5197.6,这又是为啥?
搜索更多相关主题的帖子: case count year printf 输出 
2019-11-07 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497661-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018234 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved