C语言实例2

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

    利润(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,求应发放奖金总数?

  2. 程序分析:利用数轴来分界,定位。注意类型的定义。
  3. 程序源代码:
    #include <stdio.h>
    #include <stdlib.h>
    //获取利润 
    int get_i();
    //获取奖金
    int get_bonus(double i);
    //判断是否继续 
    int get_choose();
    //主函数 
    int main() {
    	get_i();
    	get_choose();
    	return 0;
    }
    
    int get_i(){
        ///定义为双精度浮点型
    	double i,bonus;
    	printf("请输入你的利润:(万)");
    	scanf("%lf",&i);
    ///scanf("%*[^\n]"); scanf("%*c");
    ///第一个 scanf() 将逐个读取缓冲区中\n之前的其它字符,% 后面的 * 表示将读取的这些字符丢弃,遇到
    ///\n字符时便停止读取。此时,缓冲区中尚有一个\n遗留,第二个 scanf() 再将这个\n读取并丢弃,这里的
    ///星号和第一个 scanf()的星号作用相同。由于所有从键盘的输入都是以回车结束的,而回车会产生一个\n
    ///字符,所以将\n连同它之前的字符全部读取并丢弃之后,也就相当于清除了输入缓冲区。
    	scanf("%*[^\n]");scanf("%*c");
    	i = i * 10000;
    	get_bonus(i);
    	return 0; 
    }
    
    int get_bonus(double i){
    	double bonus,bonus1,bonus2,bonus3,bonus4,bonus5;
    	bonus1 = 100000 * 0.1;
    	bonus2 = bonus1 + (100000 * 0.075);
    	bonus3 = bonus2 + (200000 * 0.05);
    	bonus4 = bonus3 + (200000 * 0.03); 
    	bonus5 = bonus4 + (400000 * 0.15);
    	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 = bonus3 + (i - 400000) * 0.03;
    	} else if (i <= 1000000){
    		bonus = bonus4 + (i - 600000) * 0.015;
    	}  else if (i>1000000){
    		bonus = bonus5 + (i - 1000000) * 0.01;
    	}
    	printf("奖金为:%g(元)\n",bonus);
    	return 0;
    }
    
    int get_choose(){
    	char choose;
    	printf("是否继续计算(y/n):");
    	scanf("%c",&choose);
    	scanf("%*[^\n]");scanf("%*c");
    	if (choose == 'y' || choose == 'Y'){
    		main();
    	}else{
    		printf("%c",choose);
    	}
    	return 0;
    }
  4.  运行结果:

posted @ 2022-10-16 18:53  grey-lion  阅读(31)  评论(0编辑  收藏  举报