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 谢谢
2 年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.08 22:03

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于函数调用的一些心得
#include #include #include void max(int a);//函数声明位于main上并且需要用冒号! int b[10];//定义全局变量位于main函数上。并且全局变量可以在主从函数上直接使用。 int main() {     int a;     int i;     scanf("%d",&a);      max(a);    for
C语言函数调用问题汇总
1. 形参问题 形参——形式化的参数,这种解释很抽象。 在任何编程语言中,任何变量都是某个特定的存储空间的一段而已,这一段具体有多大,由变量的类型决定,如 int 型,则为4 Byte。 在进行函数/方法的调用时,函数的实参是存在于存储空间某个具体位置的一段指定空间的,而任何函数或方法都会被程序控制器开辟一个栈空间(stack),这个空间也是一段存储位置,有时候为了效率起见,它存在于
c语言 有关数组的入门简单题
(1)题目是:编写C语言程序,求2个一位整型数组的积 代码如下 #include &amp;lt;stdio.h&amp;gt; int main() { int a[105],b[105],n; int c[105]; //定义数值 while(~scanf(&quot;%d&quot;,&amp;amp;n)) { for(int i=1;i&amp;lt;=n;i++)//这是第二行的输...
C语言基础:函数的定义与调用
        在前面内容中我们调用了一个标准C的库函数,叫printf,那么如果我们想自己定义函数应该如何来编写程序呢?定义函数又有什么好处呢?因为我们在教材中提及到的例子主要目的是为了让读者对程序的原理有一定的了解,所以设定的例子程序通常都比较简单,基本上在几行到十几行,多一点的也就三五十行代而已,但是在真正的编程工作中,我们需要完成的代码将非常大,所以将代码合理的分为不同的区块是很有必要的,...
C语言回调函数一个简单的例子
原文地址:http://blog.csdn.net/zgrjkflmkyc/article/details/9198519 回调函数在linux内核或是单片机上应用得太多,由此也可以大致判断,一个初学者和有个有经验的区别。我转写在这儿,希望更多的人能够看到,一起进步!!!! 回调函数通俗的解释:      普通函数:你所写的函数调用系统函数,你只管调用,不管实现。
一维数组练习题# 想学c语言的好好做.. 很简单,很基础,但很有用,
一维数组练习题 上课用的,有大用, 想学好c语言必须多做.. 快下载吧
C语言函数调用的底层机制
C语言函数调用的底层机制C语言函数调用的底层机制C语言函数调用的底层机制C语言函数调用的底层机制C语言函数调用的底层机制C语言函数调用的底层机制
C语言中有关外部函数调用的问题
首先指出一点,我们通常所说的编译器并非仅指编译器,确切来说是编译工具链,里面包括了预编译器、编译器、汇编器和连接器。 对于外部函数实体(处于调用函数所在源文件之外的其他源文件中的函数),是在链接过程中,才会被寻找和添加进程序,一旦没有找到函数实体,就会报错,无法成功链接。 而外部函数的声明(一般声明在头文件中)只是令程序顺利通过编译而已,此时并不需要搜索到外部函数的实体。 当然,外部函数实体
递归函数的几个例子
/*1.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。 这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过 每个村子卖出多少只鸭子?*/#include int q(int duck,int village)//定义递归函数,参数为鸭子数和村子数 { if(village==0) //未经过村子时的鸭子为总数 printf("总共有%d个鸭子。\n
Java方法的简单调用(可以类比c语言的函数调用)
package 方法的调用;//注意创建的文件名要一致(可以删掉) public class Fang {//建立一个类 static int a = 2;//用来演示全局变量,注意要加static public static void main(String[] args) { // TODO Auto-generated method stub int sh = method(a...