美文网首页
2021-11-24 C 语言经典100例 delphi实现

2021-11-24 C 语言经典100例 delphi实现

作者: netppp | 来源:发表于2021-11-24 15:31 被阅读0次

    https://www.runoob.com/cprogramming/c-exercise-example2.html


    题目:企业发放的奖金根据利润提成。

    利润(I)低于或等于10万元时,奖金可提10%;
    利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
    20万到40万之间时,高于20万元的部分,可提成5%;
    40万到60万之间时高于40万元的部分,可提成3%;
    60万到100万之间时,高于60万元的部分,可提成1.5%;
    高于100万元时,超过100万元的部分按1%提成。
    从键盘输入当月利润I,求应发放奖金总数?

    程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型。

    实例

    include<stdio.h>

    int main()
    {
    double i;
    double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    printf("你的净利润是:\n");
    scanf("%lf",&i);
    bonus1=1000000.1;
    bonus2=bonus1+100000
    0.075;
    bonus4=bonus2+2000000.05;
    bonus6=bonus4+200000
    0.03;
    bonus10=bonus6+4000000.015;
    if(i<=100000) {
    bonus=i
    0.1;
    } else if(i<=200000) {
    bonus=bonus1+(i-100000)0.075;
    } else if(i<=400000) {
    bonus=bonus2+(i-200000)
    0.05;
    } else if(i<=600000) {
    bonus=bonus4+(i-400000)0.03;
    } else if(i<=1000000) {
    bonus=bonus6+(i-600000)
    0.015;
    } else if(i>1000000) {
    bonus=bonus10+(i-1000000)*0.01;
    }
    printf("提成为:bonus=%lf",bonus);

    printf("\n");
    

    }
    以上实例输出结果为:

    你的净利润是:
    120000
    提成为:bonus=11500.000000


    procedure TForm1.Button1Click(Sender: TObject);
    
    var
      //a,b,c,d,e,f,m,n,x,y,z,i:float;
      { DELPHI的浮点数声明不能用float,而是用real(8个字节),single(8个字节,单精度浮点),double(16个字节,双精度浮点)
    浮点数据声明如下:
    var i,j,k:real;
    m,n:integer;
    integer 转化为float是自动进行的.当把一个integer值赋给浮点型的变量时,DELPHI自动进行类型转换.  }
    
    
    
        a,b,c,d,e,m,i:real;
    
    begin
        m:=0;                   //m初始化为0,然后作为变量装填
         i:=strtofloat(edit1.text);   //编辑框输入120000
         a:=100000*0.1;          //100000打底,对应利润在100000-200000之间时引用,作为基数
    
         b:= a+100000*0.075;     //200000打底,对应利润在200000-400000之间时引用,作为基数
         c:= b+200000*0.05;
         d:= c+200000*0.03;
         e:= d+200000*0.015;
    
       if   i<=100000   then
            m:=i*0.1
          else if    i<=200000 then
            m:=a+(i-100000)*0.075
           else if    i<=400000 then
              m:=b+(i-200000)*0.05
            else  if    i<=600000 then
                m:=c+(i-400000)*0.03
             else   if    i<=1000000 then
                   m:=d+(i-600000)*0.015
              else     if    i>1000000 then
                    m:=e+(i-1000000)*0.01;
    
    
    {
         if   i<=100000   then
            m:=i*0.1;
         if    i<=200000 then
            m:=a+(i-100000)*0.075;
    
           if    i<=400000 then
              m:=b+(i-200000)*0.05;
    //   以上这段证明了不使用else  if  会导致之前的程序被覆盖,逻辑不严谨从而得出错误的结论。
      }
    
    
        showmessage(floattostr(m));
    
    end;
    

    相关文章

      网友评论

          本文标题:2021-11-24 C 语言经典100例 delphi实现

          本文链接:https://www.haomeiwen.com/subject/cewntrtx.html