| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:简单程序找错
只看楼主 加入收藏
楚雄过客
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-11-5
结帖率:0
收藏
已结贴  问题点数:10 回复次数:12 
简单程序找错
# include <stdio.h>
void main()
{
 long int sum,sum1,sum2,sum4,sum6,sum10,i;
 scanf("%ld\n",&i);
 sum1=100000*0.1;
 sum2=sum1+100000*0.75;
 sum4=sum2+200000*0.5;
 sum6=sum4+200000*0.3;
 sum10=sum6+400000*0.15;
 if(i<100000)
     sum=i*0.1;
 else if(i<=200000)
     sum=sum1+(i-100000)*0.75;
 else if(i<=400000)
     sum=sum2+(i-200000)*0.5;
 else if(i<=600000)
     sum=sum4+(i-400000)*0.3;
 else if(i<=1000000)
     sum=sum6+(i-600000)*0.15;
 else
     sum=sum10+(i-1000000)*0.1;
 prinft("该同志的奖金:%ld",sum);

}
自己学编的,提示有2个错误,11个警告,请高手帮我看下
搜索更多相关主题的帖子: sum4 600000 include 
2009-11-04 13:03
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:1 
prinft 编写错误,应该是printf
2009-11-04 13:14
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
警告是因为你的几个sum都是long类型,但赋值的时候有小数,会导致数据缺失··· 想不要警告的话,改下前面的就行了···
程序代码:
# include <stdio.h>
void main()
{
    double sum,sum1,sum2,sum4,sum6,sum10;
    long int i;
    scanf("%ld\n",&i);
    sum1=100000*0.1;
    sum2=sum1+100000*0.75;
    sum4=sum2+200000*0.5;
    sum6=sum4+200000*0.3;
    sum10=sum6+400000*0.15;
    if(i<100000)
         sum=i*0.1;
    else if(i<=200000)
         sum=sum1+(i-100000)*0.75;
    else if(i<=400000)
         sum=sum2+(i-200000)*0.5;
    else if(i<=600000)
         sum=sum4+(i-400000)*0.3;
    else if(i<=1000000)
         sum=sum6+(i-600000)*0.15;
    else 
         sum=sum10+(i-1000000)*0.1;
    printf("该同志的奖金:%lf",sum);
}

 
2009-11-04 13:20
zqb7899
Rank: 4
等 级:业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
收藏
得分:1 
1.printf写成了prinft;
2.scanf("%ld\n",&i)去掉\n。
2009-11-04 13:49
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
scanf("%ld\n",&i);应该没什么大问题吧??~~~
2009-11-04 13:58
zqb7899
Rank: 4
等 级:业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
收藏
得分:0 
回复 5楼 lijm1989
我在WIN-TC下编译有问题
不知道别的编译器有没有问题
2009-11-04 14:06
zqb7899
Rank: 4
等 级:业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
收藏
得分:0 
回复楼主:
用一个整型与实型数据进行运算,容易出误差。
我用WIN-TC编译楼主的程序,输入1000000,会输出304999。
不如都改成float型。
取0位小数:prinft("该同志的奖金:%.0f",sum)。

2009-11-04 14:17
xuebiao89021
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2009-11-4
收藏
得分:1 
我相信你没有按照书上的要求写程序;
2009-11-04 14:44
楚雄过客
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-11-5
收藏
得分:0 
很感谢楼上几位
2009-11-04 14:58
荒克一号
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2009-10-31
收藏
得分:1 
最亮的眼睛。。printf~~~
2009-11-04 17:10
快速回复:简单程序找错
数据加载中...
 
   



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

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