求改错 >.<

发表时间: 2012/10/23 21:30:19 作者: 赵慧超 阅读:1909 回复:7 编辑  删除
 

#include <stdio.h>

main()

{

       float w; /*w为重量*/
 

       int a,l,p; /*a为倍数,l为里程,p为邮费*/

    a=(int)w/15+0.5;

       printf("输入weight,distance\n");

       scanf("%f,%d",&w,&l);

       switch (a)

       {

       case 1:printf("pay=5");

              break;

    case 2:printf("pay=9");

              break;

    case 3:printf("pay=12");

              break;

    case 4:p=(int)14+l/1000;

              printf("pay=%d,&p);

              break;

    default:p=(int)15+l/1000;

              printf("pay=%d,&p);

                     break;

       }
  

#include <stdio.h>

main()

{

       float w; /*w为重量*/

       int a,l,p; /*a为倍数,l为里程,p为邮费*/

    a=(int)w/15+0.5;

       printf("输入weight,distance\n");

       scanf("%f,%d",&w,&l);

       switch (a)

       {

       case 1:printf("pay=5");

              break;

    case 2:printf("pay=9");

              break;

    case 3:printf("pay=12");

              break;

    case 4:p=(int)14+l/1000;

              printf("pay=%d,&p);

              break;

    default:p=(int)15+l/1000;

              printf("pay=%d,&p);

                     break;

       }

 
 

回复

快速返回

re: 求改错 >.<

顾友松2012/10/24 9:34:43 [ 删除 ]

re: 求改错 >.<

程芳璐2012/10/25 17:11:31 [ 删除 ]
首先习惯问题吧,括号没有对应,main函数最好有个int或者void定义吧,还有数据类型强制转换会出现警告,a=(int)w/15+0.5;比如这个,有点歧义的。还有最后两个printf("pay=%d,&p);里面掉了后引号。再者最重要的问题,也是最郁闷的,查阅一下网上的资料吧,int、float、double之间的强制转换比较复杂,不是你想成什么样的值就是什么样的值的,我运行时,发觉那条调制转换的代码根本没有起到作用额,,,看下面代码:
float w=7.5;
float c; /*w为重量*/
int a,l,p; /*a为倍数,l为里程,p为邮费*/
c=w/15+0.5; //有表达式的强制转换要先赋值给一个变量,然后进行下面的强制
a=(int)c;
然后变量w如果不先赋初值的话,编译会出现没有被定义的情况,所以赋初值的时候,强制转换就成功了额。我是这么思考的,自我觉得有些很不理解很麻烦。你可以去网上查查资料,看看这类的问题,多调试,哈哈,学会了教我啊。

re: 求改错 >.<

王鹏2012/11/6 10:25:05 [ 删除 ]
a=(int)(w/15+0.5);
 
 
p=14+l/1000;


p=15+l/1000;
改这三条语句,可能就对了
 

为啥不能达到目的

田耀祖2014/1/22 12:37:49 [ 删除 ]
计算t=1+1/2+1/3+...+1/n

#include<stdio.h>
int main()
{int b=2,sum=1,n;
scanf("%d",&n);
while(b<=n)
{sum=sum+1/b;
b++;}
printf("%d\n",sum);
}
哪位大神指点迷津,小弟感激不尽

re: 求改错 >.<

孔昀晖2014/9/24 9:10:35 [ 删除 ]
c语言中,1/2=0,而1.0/2=0.5

re: 求改错 >.<

殷宇杰2014/9/30 9:28:10 [ 删除 ]
杀东西

re: 求改错 >.<

....2015/6/30 18:59:49 [ 删除 ]
main函数最后的}都忘了吧。。
标题 (可以为空)
姓名*  
内容
 
验证码 验证码(看不清楚?请点击刷新验证码)
  登录