2 lcm zg lcm_zg 于 2016.04.08 21:54 提问

简单的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);之后,程序不能得到理想运行结果

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.08 22:03
已采纳

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

 scanf("%lf",&pro);
lcm_zg
lcm_zg 谢谢
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.08 22:03

C语言函数调用性能测试
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!