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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?