鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 7

企业利润计算,不知道错在哪里

[复制链接]
发表于 2021-10-12 15:06:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。


提示
  1. int main()
  2. {
  3.         int conus, conus1, conus2, conus4, conus6, conus100;//声明变量,总提成,和各个阶段的提成。
  4.         long int  money;
  5.         conus1 = 100000 * 0.1;
  6.         conus2 = conus1 + 100000 * 0.75;
  7.         conus4 = conus2 + 200000 * 0.5;
  8.         conus6 = conus4 + 200000 * 0.3;
  9.         conus100 = conus6 + 400000 * 0.15;

  10.         printf("please enter the profit generater\n");
  11.         scanf("%ld", &money);
  12.         if (money < 100000)//通过输入的金额来判断所得到的提成
  13.         {
  14.                 conus = money * 0.1;
  15.         }
  16.         else if (conus <= 200000)
  17.         {
  18.                 conus = conus1 + (money - 100000) * 0.75;
  19.         }
  20.         else if (money <= 400000)
  21.         {
  22.                 conus = conus2 + (money - 200000) * 0.5;
  23.         }
  24.         else if (money <= 600000)
  25.         {
  26.                 conus = conus4 + (money - 400000) * 0.3;

  27.         }
  28.         else if (money <= 1000000)
  29.         {
  30.                 conus = conus6 + (money - 600000) * 0.15;
  31.         }

  32.         else
  33.         {
  34.                 conus = conus100 + (money - 1000000) * 0.1;
  35.         }
  36.         printf("Please enter the bonus generated is:%d", conus);//打印出来
  37.         return 0;
  38. }
复制代码


运行之后提示:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-12 15:10:41 | 显示全部楼层
本帖最后由 村里小黑 于 2021-10-12 15:16 编辑

看不到你说的提示内容,还有就是你是不是忘记写头文件了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-12 15:15:39 | 显示全部楼层
提示返回值被忽略"scanf"
使用未初始化的内存conus

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-12 15:20:46 | 显示全部楼层
村里小黑 发表于 2021-10-12 15:10
看不到你说的提示内容,还有就是你是不是忘记写头文件了


提示返回值被忽略"scanf"
使用未初始化的内存conus

头文件写的,只是没有复制出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 15:27:55 | 显示全部楼层
  1. #include <stdio.h>

  2. int main(){
  3.     int profit;
  4.     float a, bonus;
  5.    
  6.     int target[6] = {1000000, 600000, 400000, 200000, 100000, 0};
  7.     float interest[6] = {0.01, 0.015, 0.03, 0.05, 0.075, .1};
  8.    
  9.     scanf("%d", &profit);
  10.    
  11.     for(int i=0; i<6; i++){
  12.         if(profit>target[i]){
  13.             a = profit-target[i];
  14.             bonus += a*interest[i];
  15.             profit -= a;
  16.         }
  17.     }
  18.    
  19.     printf("%.2f", bonus);
  20.    
  21.     return 0;
  22. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 15:29:50 | 显示全部楼层
只发现了这个问题,原因是couns没有初始化
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int conus = 0, conus1, conus2, conus4, conus6, conus100;//声明变量,总提成,和各个阶段的提成。
  5.         long int  money;
  6.         conus1 = 100000 * 0.1;
  7.         conus2 = conus1 + 100000 * 0.75;
  8.         conus4 = conus2 + 200000 * 0.5;
  9.         conus6 = conus4 + 200000 * 0.3;
  10.         conus100 = conus6 + 400000 * 0.15;

  11.         printf("please enter the profit generater\n");
  12.         scanf("%ld", &money);
  13.         if (money < 100000)//通过输入的金额来判断所得到的提成
  14.         {
  15.                 conus = money * 0.1;
  16.         }
  17.         else if (conus <= 200000)
  18.         {
  19.                 conus = conus1 + (money - 100000) * 0.75;
  20.         }
  21.         else if (money <= 400000)
  22.         {
  23.                 conus = conus2 + (money - 200000) * 0.5;
  24.         }
  25.         else if (money <= 600000)
  26.         {
  27.                 conus = conus4 + (money - 400000) * 0.3;

  28.         }
  29.         else if (money <= 1000000)
  30.         {
  31.                 conus = conus6 + (money - 600000) * 0.15;
  32.         }

  33.         else
  34.         {
  35.                 conus = conus100 + (money - 1000000) * 0.1;
  36.         }
  37.         printf("Please enter the bonus generated is:%d", conus);//打印出来
  38.         return 0;
  39. }
复制代码
屏幕截图 2021-10-12 152644.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 15:37:48 | 显示全部楼层
@littlefool 发表于 2021-10-12 15:20
提示返回值被忽略"scanf"
使用未初始化的内存conus

先把conus赋个初始值0,试一下看看是否还报错,如果不行的话再把scanf改成scanf_s再试一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 16:29:22 | 显示全部楼层
运行后提示的东西呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-3 09:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表