EDN首页   博客首页

日志档案

发表于 2007-8-22 17:25:10

0

标签: C语言  

c语言实例

  今天做了一道c语言的题,虽然达到了题目的要求,但是总觉得程序有些繁琐,各位帮忙看看有什么更好的办法可以解决这个问题

/*************************************************************************
作者:好心情
日期:2007-08-22
描述:企业年底根据利润提成,以万元为单位.利润低于10万元时,奖金可提10%;利润高
于10万低于20万时,低于10万的部分提10%,高于10万的部分提7.5%;20到40万之间,高
于20万的部分提5%;40到60万,高于40万的部分提3%;60到100万,高于60万的部分提1.5%
;高于100万的部分,提1%. 输入当年的利润,求应发放的奖金总数.
*************************************************************************/
#include <stdio.h>

void main()
{
 //声明变量
 float gain;//利润
 double bonus;//奖金

 //获取变量
 printf("\n\t请输入利润额(万元):");
 scanf("%f",&gain);//获取数据,保存在gain中
 
 //根据利润计算奖金额度
 if(gain<=60)
 {
  if(gain<=20)
  {
   if(gain<=10)
   {
    bonus=gain*0.1;
    printf("\n\t应发放的奖金总数为:%.2f万",bonus);
   }
   else
   {
    bonus=((gain-10)*0.075)+ (gain*0.1);
    printf("\n\t应发放的奖金总数为:%.2f万",bonus);
   }
  }
  else
  {
   if(gain<=40)
   {
    bonus=((gain-20)*0.05)+ ((gain-10)*0.075)+ (gain*0.1);
    printf("\n\t应发放的奖金总数为:%.2f万",bonus);
   }
   else
   {
    bonus=((gain-40)*0.03)+ ((gain-20)*0.05)+ ((gain-10)*0.075)+ (gain*0.1);
    printf("\n\t应发放的奖金总数为:%.2f万",bonus);
   }
  }
 }
 else
 {
  if(gain<=100)
  {
   bonus=((gain-60)*0.015)+ ((gain-40)*0.03)+ ((gain-20)*0.05)+ ((gain-10)*0.075)+ (gain*0.1);
   printf("\n\t应发放的奖金总数为:%.2f万",bonus);
  }
  else
  {
   bonus=((gain-100)*0.01)+ ((gain-60)*0.015)+ ((gain-40)*0.03)+ ((gain-20)*0.05)+ ((gain-10)*0.075)+ (gain*0.1);
   printf("\n\t应发放的奖金总数为:%.2f万",bonus);//上一行里的计算公式太长了,郁闷呀
  }
 }
}

 

系统分类: 软件开发   |   用户分类: 软件编程   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(787)    回复(0)  

投一票您将和博主都有获奖机会!