| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1526 人关注过本帖
标题:为什么不能正常赋值?
只看楼主 加入收藏
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:9 
为什么不能正常赋值?
刚才尝试将一个if-else结构的语句转化成开关语句,但是发现K不能正常赋值  运行结果是K=0;K=0;  修改了几次,还是这样的结果。
请问各位大神,具体是哪儿的原因呢?



#include <stdio.h>
void main()
{
    long int i;
    int x;
    double K,K1,K2,K4,K6,K10;
    printf("please input money:\n");
    scanf("%ld",&i);
    x=i/100000;
    K1=100000*0.1;
    K2=K1+100000*0.075;
    K4=K2+200000*0.05;
    K6=K4+200000*0.03;
    K10=K6+400000*0.015;
    switch(x)
    {
    case 0:
       K=i*0.1;printf("K=%d\n",K);break;
    case 1:
        K=K1+(i-100000)*0.075;break;
    case 2:
    case 3:
        K=K2+(i-200000)*0.05;break;
    case 4:
    case 5:
        K=K4+(i-400000)*0.03;break;
    case 6:
    case 7:
    case 8:
    case 9:
        K=K6+(i-600000)*0.015;break;
    default:
        K=K10+(i-1000000)*0.01;break;
    }
   printf("K=%d\n",K);
}
搜索更多相关主题的帖子: please double money 开关 
2013-09-18 20:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你认为x等于多少?

授人以渔,不授人以鱼。
2013-09-18 20:05
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
收藏
得分:0 
原题是可能很多人见过
企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
2013-09-18 20:05
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
收藏
得分:0 
回复 2楼 TonyDeng
输入i的值,然后除以十万  用来触发后面的开关语句。。我是这样想的,不知道有没有问题?请赐教
2013-09-18 20:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你自己跟蹤一下x的値是多少自然知道

授人以渔,不授人以鱼。
2013-09-18 20:07
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
收藏
得分:0 
回复 5楼 TonyDeng
开始我在case 语句下用的printf("A\n");printf("B\n");之类的,发现能正确对应X的值。但是如果换成为K赋值的话,就会出错。请问应该怎样跟踪X的值?
2013-09-18 20:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在給x賦値後就輸出它的値看看,x=1/100000的後面。得到結果後,自己仔細想一想是怎麽回事,書上有解答,論壇上也無數次答覆過這種問題,多看別人的帖子,不要悶頭只做自己的題目,反復地解答同樣問題很煩的。

授人以渔,不授人以鱼。
2013-09-18 20:13
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
收藏
得分:0 
回复 7楼 TonyDeng
哦哦 ,谢谢。
2013-09-18 20:14
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
double类型数据你用%d!!!

总有那身价贱的人给作业贴回复完整的代码
2013-09-18 20:43
domoke
Rank: 2
等 级:论坛游民
帖 子:36
专家分:71
注 册:2013-9-11
收藏
得分:0 
回复 9楼 embed_xuel
后来发现了...习惯了。
2013-09-18 21:38
快速回复:为什么不能正常赋值?
数据加载中...
 
   



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

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