企业利润计算,不知道错在哪里
题目:企业发放的奖金根据利润提成。利润(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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
提示
int main()
{
int conus, conus1, conus2, conus4, conus6, conus100;//声明变量,总提成,和各个阶段的提成。
long intmoney;
conus1 = 100000 * 0.1;
conus2 = conus1 + 100000 * 0.75;
conus4 = conus2 + 200000 * 0.5;
conus6 = conus4 + 200000 * 0.3;
conus100 = conus6 + 400000 * 0.15;
printf("please enter the profit generater\n");
scanf("%ld", &money);
if (money < 100000)//通过输入的金额来判断所得到的提成
{
conus = money * 0.1;
}
else if (conus <= 200000)
{
conus = conus1 + (money - 100000) * 0.75;
}
else if (money <= 400000)
{
conus = conus2 + (money - 200000) * 0.5;
}
else if (money <= 600000)
{
conus = conus4 + (money - 400000) * 0.3;
}
else if (money <= 1000000)
{
conus = conus6 + (money - 600000) * 0.15;
}
else
{
conus = conus100 + (money - 1000000) * 0.1;
}
printf("Please enter the bonus generated is:%d", conus);//打印出来
return 0;
}
运行之后提示:
本帖最后由 村里小黑 于 2021-10-12 15:16 编辑
看不到你说的提示内容,还有就是你是不是忘记写头文件了 提示返回值被忽略"scanf"
使用未初始化的内存conus
村里小黑 发表于 2021-10-12 15:10
看不到你说的提示内容,还有就是你是不是忘记写头文件了
提示返回值被忽略"scanf"
使用未初始化的内存conus
头文件写的,只是没有复制出来 #include <stdio.h>
int main(){
int profit;
float a, bonus;
int target = {1000000, 600000, 400000, 200000, 100000, 0};
float interest = {0.01, 0.015, 0.03, 0.05, 0.075, .1};
scanf("%d", &profit);
for(int i=0; i<6; i++){
if(profit>target){
a = profit-target;
bonus += a*interest;
profit -= a;
}
}
printf("%.2f", bonus);
return 0;
} 只发现了这个问题,原因是couns没有初始化
#include <stdio.h>
int main()
{
int conus = 0, conus1, conus2, conus4, conus6, conus100;//声明变量,总提成,和各个阶段的提成。
long intmoney;
conus1 = 100000 * 0.1;
conus2 = conus1 + 100000 * 0.75;
conus4 = conus2 + 200000 * 0.5;
conus6 = conus4 + 200000 * 0.3;
conus100 = conus6 + 400000 * 0.15;
printf("please enter the profit generater\n");
scanf("%ld", &money);
if (money < 100000)//通过输入的金额来判断所得到的提成
{
conus = money * 0.1;
}
else if (conus <= 200000)
{
conus = conus1 + (money - 100000) * 0.75;
}
else if (money <= 400000)
{
conus = conus2 + (money - 200000) * 0.5;
}
else if (money <= 600000)
{
conus = conus4 + (money - 400000) * 0.3;
}
else if (money <= 1000000)
{
conus = conus6 + (money - 600000) * 0.15;
}
else
{
conus = conus100 + (money - 1000000) * 0.1;
}
printf("Please enter the bonus generated is:%d", conus);//打印出来
return 0;
}
@littlefool 发表于 2021-10-12 15:20
提示返回值被忽略"scanf"
使用未初始化的内存conus
先把conus赋个初始值0,试一下看看是否还报错,如果不行的话再把scanf改成scanf_s再试一下 运行后提示的东西呢?
页:
[1]