kb920811 2015-09-29 10:14 采纳率: 33.3%
浏览 2674
已采纳

(c语言)利用%ld读取double类型,程序可以运行,但是结果是很大的负数?

#include
#define TAX_1 17850
#define TAX_2 23900
#define TAX_3 29750
#define TAX_4 14875
#define TAXRATE_1 0.15
#define TAXRATE_2 0.28
int main(void)
{
double taxsalary,taxpay;
int n;
printf("Please enter your taxsalary(q to quit):\n");
while(scanf("%ld",&taxsalary)==1)
{
printf("please enter your kinds of tax(from 1 to 4):\n");
printf("1)single tax: $17850 %15 more:%28\n");
printf("2)owner tax: $23900 %15 more:%28\n");
printf("3)double(together) tax: $29700 %15 more:%28\n");
printf("4)double(divorce) tax: $23900 %15 more:%28\n");
scanf("%d",&n);
if (n==1)
{
if(taxsalary<=TAX_1)
{
taxpay=taxsalary*TAXRATE_1;
printf("taxpay:%ld\n",taxpay);

            }

        else
          {
            taxpay=TAX_1*TAXRATE_1+(taxsalary-TAX_1)*TAXRATE_2;
                printf("taxpay:%ld\n",taxpay);
          }

    }
    if (n==2)
    {
        if (taxsalary<=TAX_2)
        {
            taxpay=taxsalary*TAXRATE_1;
                printf("taxpay:%ld\n",taxpay);
        }
        else
        {
            taxpay=TAX_2*TAXRATE_1+(taxsalary-TAX_2)*TAXRATE_2;
            printf("taxpay:%ld\n",taxpay);
        }

    }
    if (n==3)
    {
        if (taxsalary<=TAX_3)
        {
            taxpay=taxsalary*TAXRATE_1;
                printf("taxpay:%ld\n",taxpay);
        }
        else
        {
            taxpay=TAX_3*TAXRATE_1+(taxsalary-TAX_3)*TAXRATE_2;
                printf("taxpay:%ld\n",taxpay);
        }

    }
    if (n==4)
    {
        if (taxsalary<=TAX_4)
        {
            taxpay=taxsalary*TAXRATE_1;
                printf("taxpay:%ld\n",taxpay);
        }
        else
        {
            taxpay=TAX_4*TAXRATE_1+(taxsalary-TAX_4)*TAXRATE_2;
                printf("taxpay:%ld\n",taxpay);
        }
    }
    printf("Please enter your taxsalary:(q to quit)\n");


}
return 0;

}

  • 写回答

2条回答 默认 最新

  • kb920811 2015-09-30 00:33
    关注

    非常感谢,又仔细查了一下。是%lf,记错了,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败