TZMLAY 2016-04-08 13:54 采纳率: 100%
浏览 1387
已采纳

简单的C语言程序问题,与函数调用有关

这是源码:

#include

void count(double profit);

int main()
{
double pro;
//printf("请输入利润:");
//scanf("%f",pro); //为什么不能输入????????????
count(660000);
return 0;
}

void count(double profit)
{
double prize[5];
double bonus;
int pro = profit/10000;
prize[0] = 100000*10*0.01;
prize[1] = prize[0]+100000*7.5*0.01;
prize[2] = prize[1]+200000*5*0.01;
prize[3] = prize[2]+200000*3*0.01;
prize[4] = prize[3]+400000*1.5*0.01;
if(pro<=10)
{

bonus = pro*0.1;

}
else if(pro<=20)
{

bonus = prize[0]+(profit-100000)*0.075;
}
else if(pro<=40)
{

bonus = prize[1]+(profit-200000)*0.05;
}
else if(pro<=60)
{

bonus = prize[2]+(profit-400000)*0.03;
}
else if(pro<=100)
{

bonus = prize[3]+(profit-600000)*0.015;
}
else if(pro>100)
{

bonus = prize[4]+(profit-1000000)*0.01;
}
printf("当月奖金为:%f",bonus);

}

不知道为什么去掉注释之后,并把 count(660000);改为 count(pro);之后,程序不能得到理想运行结果

  • 写回答

1条回答 默认 最新

  • 小灸舞 2016-04-08 14:03
    关注

    这样写当然不对scanf("%f",pro);
    首先double的占位符应当是%lf,其次pro应该加上取地址符
    改为:

     scanf("%lf",&pro);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮