| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 975 人关注过本帖
标题:请大神指教
只看楼主 加入收藏
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
结帖率:75%
收藏
已结贴  问题点数:8 回复次数:7 
请大神指教
#include<stdio.h>

int main()
{
    int i,c;
    float jiangjin;
   
    printf("请输入当月利润:\n");
    scanf("%d",&i);
    c=i/100000;
    if(i>1000000)
    c=5;
    switch(c)
    case'0':jiangjin=i*10%;break;
    case'1':jiangjin=100000*10%+(i-100000)*7.5%;break;
    case'2':jiangjin=100000*10%+100000*7.5%+(i-200000)*5%;break;
    case'3':jiangjin=100000*10%+100000*7.5%+200000*5%+(i-400000)*3%;break;
    case'4':jiangjin=100000*10%+100000*7.5%+200000*5%+200000*3%+(i-600000)*1.5%;break;
    case'5':jiangjin=100000*10%+100000*7.5%+200000*5%+200000*3%+400000*1.5%+(i-1000000)*1%;break;
    default:printf("请重新输入!\n");break;
    printf("应发放奖金总数为%10.2f\n",jiangjin);
   
    return 0;
   
搜索更多相关主题的帖子: printf 输入 int break case 
2022-10-18 14:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:3 
连题目都不肯给?!
如果你的题目就是要求打出这段不知所云的字符,你让别人怎么“指教”?
2022-10-18 14:53
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
收藏
得分:0 
回复 2楼 rjsp
企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元(100000<I≤200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5%;200000 <I≤400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成;400000<I≤600000时,高于40万元的部分按3%提成;600000<I≤1000000时,高于60万的部分按1.5%提成;I>1000000时,超过100万的部分按1%提成。输入当月利润I,求应发放奖金总数。
2022-10-18 17:45
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
收藏
得分:0 
#include<stdio.h>

int main()
{
   int i,c;
   float jiangjin;
   
   printf("请输入当月利润:\n");
   scanf("%d",&i);
   c=i/100000;
   if(i>1000000)
    c=5;
   switch(c)
   {
       case 0:jiangjin=i*0.1; break;
       case 1:jiangjin=100000*0.1+(i-100000)*0.075; break;
       case 2:jiangjin=100000*0.1+100000*0.075+(i-200000)*0.05; break;
       case 3:jiangjin=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03; break;
       case 4:jiangjin=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015; break;
       case 5:jiangjin=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(i-1000000)*0.01; break;
      
   }
   printf("该发放奖金为%5.2f\n",jiangjin);
   
   return 0;
}
2022-10-18 17:46
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
收藏
得分:0 
回复 3楼 杨大傻
我改过的在下面
2022-10-18 17:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用杨大傻在2022-10-18 17:45:27的发言:

企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元(100000<I≤200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5%;200000 <I≤400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成;400000<I≤600000时,高于40万元的部分按3%提成;600000<I≤1000000时,高于60万的部分按1.5%提成;I>1000000时,超过100万的部分按1%提成。输入当月利润I,求应发放奖金总数。


程序代码:
#include <stdio.h>

double calc_bonus( int profit )
{
    if( profit <= 0 )
        return 0.0;

    // [00万, 10万] 0.100
    // [10万, 20万] 0.075
    // [20万, 40万] 0.050
    // [40万, 60万] 0.030
    // [60万,100万] 0.015
    // [100万,+∞]  0.010
    #define MINVAL(x) (profit<x ? profit : x)
    double bonus = profit * 0.010
        + MINVAL(1000000) * 0.005
        + MINVAL( 600000) * 0.015
        + MINVAL( 400000) * 0.020
        + MINVAL( 200000) * 0.025
        + MINVAL( 100000) * 0.025;
    #undef MINVAL
    return bonus;
}

int main( void )
{
    int I;
    printf( "请输入当月利润: " );
    if( 1 != scanf("%d",&I) )
    {
        puts( "输入格式错误." );
        return 1;
    }

    printf( "应发放奖金总数为 %.2f\n", calc_bonus(I) );
}
2022-10-19 09:50
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:566
专家分:3690
注 册:2019-7-29
收藏
得分:3 
程序代码:
#include<stdio.h>

int main()
{
   int i;
   float jiangjin = 0;

   printf("请输入当月利润:");
   scanf("%d",&i);

   switch(i/100000+1)
   {
       default:
           jiangjin+=(i-1000000)*0.01;
           i=1000000;
        case 9:
        case 8:
        case 7:
            jiangjin+=(i-600000)*0.015;
           i=600000;
        case 6:
        case 5:
            jiangjin+=(i-400000)*0.03;
           i=400000;
        case 4:
        case 3:
            jiangjin+=(i-200000)*0.05;
           i=200000;
        case 2:
            jiangjin+=(i-100000)*0.075;
           i=100000;
        case 1:
            jiangjin+=i*0.1;
   }
   printf("该发放奖金为%5.2f\n",jiangjin);

   return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2022-10-19 14:37
xinkonb
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2022-10-20
收藏
得分:3 
回复 楼主 杨大傻
程序代码:
#include<stdio.h>
float reword(float a)
{
    float b;
    if(a<=10) b=a*0.1;
    else if(a<=20) b=10*0.1+(a-10)*0.075;
    else if(a<=40) b=10*0.1+10*0.75+(a-20)*0.05;
    else if(a<=60) b=10*0.1+10*0.75+20*0.05+(a-40)*0.03;
    else if(a<=100) b=10*0.1+10*0.75+20*0.05+20*0.03+(a-60)*0.015;
    else  b=10*0.1+10*0.75+20*0.05+20*0.03+40*0.015+(a-100)*0.01;
    return b;
} 
int main()
{    
     float i,re;
     printf("请输入您的当月利润——万元\n");
    scanf("%f",&i);
    re=reword(i)*10000 ;
    printf("你好!本月您的奖金为%f元",re) ;
    return 0;

 }
遇到过相似的,直接复制过来了,虽然没楼上大佬们的厉害,但也是一种思路吧

[此贴子已经被作者于2022-10-20 11:42编辑过]

2022-10-20 11:40
快速回复:请大神指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020280 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved