| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1375 人关注过本帖
标题:请看看这个程序哪个地方错了,指教一下
只看楼主 加入收藏
z17r2
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-11-7
收藏
 问题点数:0 回复次数:12 
请看看这个程序哪个地方错了,指教一下
#include<stdio.h>
void main()
{
double i,a;
scanf("%f",a);
else
{
if(100000<i<=200000)
a=10000+(i-100000)*7.5%;
printf("%f",a);
else
{
if(200000<i<=400000)
a=7.5%*200000+(i-200000)*5%;
printf("%f",a);
else
a=3%*400000+(i-400000)*1%;
printf("%f",a);
}
}
}
它老说else放错位置了和if后面的括号里的超出范围了,是怎么回事啊
搜索更多相关主题的帖子: 指教 
2008-11-12 20:44
z17r2
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-11-7
收藏
得分:0 
怎么没人啊
2008-11-12 20:54
liumang_D
Rank: 2
来 自:计算机
等 级:论坛游民
威 望:1
帖 子:89
专家分:50
注 册:2008-10-20
收藏
得分:0 
兄弟,你看看你有几个if有几个else,你的else居然比if还多出一个!你是不是抄的代码啊,这绝对不像是自己写出来的东西!
2008-11-12 21:14
cyz7929
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2008-10-26
收藏
得分:0 
#include<stdio.h>
main()
{
  float i,a;
 scanf("%f",&i);
 if(i<=200000)
 a=10000+(i-100000)*0.075;
  else
 if(i<=400000)
  a=0.075*200000+(i-200000)*0.05;
  else
  a=0.03*400000+(i-400000)*0.01;
  printf("%.2f\n",a);
   }
你试一下,看行不
2008-11-12 21:51
enjay007
Rank: 1
来 自:西安
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-10-21
收藏
得分:0 
把你的代码调整了缩进
看不出要干什么
i一直都没有赋值


#include<stdio.h>
void main()
{
    double i,a;
    scanf("%f",a);
    else    //没有if哪来的else
    {
        if(100000<i<=200000)    //i没有值没怎么判断
            a=10000+(i-100000)*7.5%;
        printf("%f",a);
        else
        {
            if(200000<i<=400000)
                a=7.5%*200000+(i-200000)*5%;
            printf("%f",a);
            else
                a=3%*400000+(i-400000)*1%;
            printf("%f",a);
        }
    }
}
2008-11-12 22:58
leekyy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-11
收藏
得分:0 
有7.5%这个表示方法吗?不懂,好像不能表示一个数
2008-11-13 09:26
langzi_feng
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-11-13
收藏
得分:0 
i 没有赋值啊!!!
2008-11-13 10:20
starcool
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-11-13
收藏
得分:0 
这个程序有如下错误  
首先你的#是用中文字符输入的,所以不对,
然后就是else是和IF搭配使用,不可以单独使用。而且形式为
if(条件 )语句;
ELSE IF (条件 )语句;形式
 scanf("%f",a); a应该用地址标号&取地址才可以正确输入为了便于识别所以我
在前边加一个printf语句提示输入字符
在就是你的100000<i<=200000 表达式不合法的。应该表示为 i>100000&&i<=200000  7.5%是不需要带%的.. 难道你需要模除什么吗?
再就是你的IF下边超过了一个语句,所以应该用{}给括起来


修改后语句


程序代码:
#include<stdio.h>
void main()
{

 double i,a;

 printf("请输入一个数字:");

 scanf("%f",&a);
   if(i>100000&&i<=200000)
    {
      a=10000+(i-100000)*7.5;
      printf("%f",a);
    }
   else if(i>200000&&i<=400000)
    { a=7.5*200000+(i-200000)*5;
      printf("%f",a);
    }
    else
    {a=3*400000+(i-400000)*1;
    printf("%f",a);
    }
}
2008-11-13 18:43
cyz7929
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2008-10-26
收藏
得分:0 
回复 8# 的帖子
当i<100000时执行的是
else
    {a=3*400000+(i-400000)*1;
    printf("%f",a);
有误
而且7.5 5 3 1  都有错  如果工资提成按这比例 那公司就亏大了
2008-11-13 20:46
z17r2
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-11-7
收藏
得分:0 
谢谢,那个我发错了,我是从文档里复制过来的
原来的是这样的:
#include<stdio.h>
void main()
{
 double i,a;
 scanf("%f",&i);
 if(i<=100000)
 a=0.1*100000;
 printf("%f",a);
 else
 {
  if(100000<i&&i<=200000)
  a=0.1*100000+(i-100000)*0.075;
  printf("%f",a);
  else
  {
   if(200000<i&&i<=400000)
   a=200000*0.075+(i-200000)*0.05;
   printf("%f",a);
   else
   {
    if(400000<i&&i<=600000)
    a=400000*0.05+(i-400000)*0.03;
    printf("%f",a0;
    else
    {
     if(600000<i&&i<=1000000)
     a=600000*0.03+(i-600000)*0.015;
     printf("%f",a);
     else
     a=0.015*1000000+(i-1000000)*0.01;
     printf("%f",a);
    }
   }
  }
 }
}
2008-11-14 20:24
快速回复:请看看这个程序哪个地方错了,指教一下
数据加载中...
 
   



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

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