| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 416 人关注过本帖
标题:新手编程过程中的一个问题,求教
只看楼主 加入收藏
misschen
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-17
收藏
 问题点数:0 回复次数:11 
新手编程过程中的一个问题,求教
main()
{float salory=500;
long profit;
printf("input profit\n");
scanf("%1d",&profit);
if(profit<=1000) {salory+=salory;}
if((profit>1000)&&(profit<=2000)) {salory+=profit*0.1;}
if((profit<2000)&&(profit<=5000)) {salory+=profit*0.15;}
if((profit<5000)&&(profit<=10000)) {salory+=profit*0.20;}
if(profit>10000) {salory+=profit*0.25;}
printf("salary=%f\n",salory);
}
 员工底薪为500,利润<=1000,没有提成,1000<利润<=2000提成10%,2000<利润<=5000,提成15%,5000<利润<=10000,提成20%,利润<10000提成25%
麻烦高手看看错在哪了???
2007-10-30 21:18
Lurking2020
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-10-30
收藏
得分:0 

同样是新人 . . ... 帮你看下 .. .. .


Lurking ---Lurking ---Lurking
2007-10-30 21:21
tywfeng
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-30
收藏
得分:0 
回复:(misschen)新手编程过程中的一个问题,求教
main()
{
float salory=500;
int profit;
printf("input profit\n");
scanf("%d",&profit);
if(profit<=1000)
{
salory+=salory;
}
if((profit>1000)&&(profit<=2000))
{
salory+=profit*0.1;
}
if((profit>2000)&&(profit<=5000)) //不是profit<2000,应该是profit>2000
{
salory+=profit*0.15;
}
if((profit>5000)&&(profit<=10000)) //不是profit<5000,应该是profit>5000
{
salory+=profit*0.20;
}
if(profit>10000)
{
salory+=profit*0.25;
}
printf("salary=%f\n",salory);
getch();
}
2007-10-30 21:52
tywfeng
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-30
收藏
得分:0 

晕,只是把一个地方的错误给改过来了,还有的地方没找到

2007-10-30 21:56
tywfeng
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-30
收藏
得分:0 

终于看懂了。上面的那个把int改成long,把%d改成%ld就行了。

[此贴子已经被作者于2007-10-30 22:17:14编辑过]

2007-10-30 22:04
misschen
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-17
收藏
得分:0 
好象不对
2007-10-30 22:12
w3026093
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-30
收藏
得分:0 

main()
{float salory=500;
float profit;
printf("input profit\n");
scanf("%f",&profit);
if(profit<=1000) salory+=salory;
else if((profit>1000)&&(profit<=2000)) salory+=profit*0.1;
else if((profit<2000)&&(profit<=5000)) salory+=profit*0.15;
else if((profit<5000)&&(profit<=10000)) salory+=profit*0.20;
else salory+=profit*0.25;
printf("salary=%f\n",salory);
}

有多个IF出现,要有对应的ELSE

2007-10-30 22:30
misschen
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-10-17
收藏
得分:0 
还是不对啊!!1
2007-10-31 12:12
不离不弃
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-31
收藏
得分:0 
既然小于1000时没提成 第一个IF后直接用;就可以了吧
不知道对不对
请指点哈!
2007-10-31 17:07
xiaxin
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-21
收藏
得分:0 
7楼的说法不对,一个模块中可以使用多个IF,而ELSE必须与IF配对使用.
其实是有效数字的问题
#include<stdio.h>
main()
{
double salory=500; //双精度型的有效数字比单精度的要高
int profit;
printf("input profit\n");
scanf("%d",&profit);
if(profit<=1000)
{
salory+=salory;
}
if((profit>1000)&&(profit<=2000))
{
salory+=profit*0.1;
}
if((profit>2000)&&(profit<=5000)) //不是profit<2000,应该是profit>2000
{
salory+=profit*0.15;
}
if((profit>5000)&&(profit<=10000)) //不是profit<5000,应该是profit>5000
{
salory+=profit*0.20;
}
if(profit>10000)
{
salory+=profit*0.25;
}
printf("salary=%lf\n",salory); //双精度对应的输出格式
getchar(); //注意关键字的拼写
}
2007-10-31 20:26
快速回复:新手编程过程中的一个问题,求教
数据加载中...
 
   



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

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