标题:今天问的问题也实在太多了, 但是没有办法。。。。实在不知道那里错了
只看楼主
飞飞我也
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-5
结帖率:90.91%
已结贴  问题点数:10 回复次数:13 
今天问的问题也实在太多了, 但是没有办法。。。。实在不知道那里错了
#include <stdio.h>
#include <math.h>

void main ()
{
     double a, b, h;
     double s = (a+b)*h/2;
     scanf ("%lf,%lf,%lf", &a, &b, &h);
     printf ("%f", s);
}



--------------------Configuration: 梯形 - Win32 Debug--------------------
Compiling...
tixing.c
Microsoft Visual Studio\MyProjects\梯形\tixing.(9) : error C2146: syntax error : missing ';' before identifier 'printf'
Microsoft Visual Studio\MyProjects\梯形\tixing.c(9) : error C2065: 'c' : undeclared identifier
Microsoft Visual Studio\MyProjects\梯形\tixing.c(10) : error C2001: newline in constant
Microsoft Visual Studio\MyProjects\梯形\tixing.c(11) : error C2143: syntax error : missing ')' before '}'
Error executing cl.exe.

梯形.exe - 4 error(s), 0 warning(s)






应该怎么改好了????或者给个正确的的给我看看。。。。

[ 本帖最后由 飞飞我也 于 2012-7-9 20:16 编辑 ]
搜索更多相关主题的帖子: double before include Microsoft 
2012-07-09 20:07
mr_wid
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:16
专家分:36
注 册:2012-6-22
得分:2 
程序代码:
#include <stdio.h>
//#include <math.h>,目测这句在该程序中没有存在的必要。

int main ()
{
      double a,b,h;
      scanf ("%lf,%lf,%lf",&a,&b,&h);   //这里使用"%lf,%lf,%lf"格式输入时就必须在各数间用逗号","隔开
      double s = (a+b)*h/2;
      printf ("%lf",s);

      return 0;
}
2012-07-09 20:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:3 
不看你编译器报出的错误信息与代码是否相符的问题,只看你写的代码,明显是前面的基础没打好,就算编译器通过了你的代码,运行也是一塌糊涂。不要只动手不动脑,写每一行代码都好好想清楚!

授人以渔,不授人以鱼。
2012-07-09 20:21
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:5 
程序代码:
#include <stdio.h>
void main ()
{
     double a, b, h,s;
     scanf ("%lf,%lf,%lf", &a, &b, &h);
     s = (a+b)*h/2;
     printf ("%f", s);
}


声明个变量,换个位置不就好了。
#include <math.h>我都给你省了。

我的代码最短,质量应该最高吧?

[ 本帖最后由 yuma 于 2012-7-9 20:36 编辑 ]

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-07-09 20:34
飞飞我也
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-5
得分:0 
回复 3楼 TonyDeng
谢谢你的教导,我自己上网自学几天的,所以基础太差,让你见笑了
2012-07-09 21:04
飞飞我也
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-5
得分:0 
回复 2楼 mr_wid
不知道是不是我的编译器问题?但是我编译还是有错误。。。我用vc++6.0
2012-07-09 21:07
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
以下是引用飞飞我也在2012-7-9 21:04:03的发言:

谢谢你的教导,我自己上网自学几天的,所以基础太差,让你见笑了


经过研究后证明,仅仅在网上学习,是学习不到东西的。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-07-09 21:14
飞飞我也
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2012-7-5
得分:0 
回复 7楼 yuma
还需要什么了?其实我刚高考完,准备先预习一下。。。。。。
2012-07-09 21:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你1楼的帖子是改过的,那个代码在语法上应该没问题,不会出现下面编译器那些信息,可能是你后来改了代码的。
你那个程序,最大的问题就是下面几位给你调整过的顺序,a、b、h在赋值之前就进行s的运算,后面scanf()输入之后又不重新计算一次,结果当然是错的。
你写代码的时候,脑中应该时刻在想“这样写将会有如何?”“假如数据是怎样它会有什么情况出现?”把自己的大脑当计算机执行一次程序,这样写才会有进步。其实,如果你这样想了,像上面所说的问题是不应该出现的,那是显而易见的逻辑问题。

授人以渔,不授人以鱼。
2012-07-09 22:53
mr_wid
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:16
专家分:36
注 册:2012-6-22
得分:0 
以下是引用mr_wid在2012-7-9 20:19:14的发言:

#include <stdio.h>
//#include <math.h>,目测这句在该程序中没有存在的必要。

int main ()
{
      double a,b,h;
      scanf ("%lf,%lf,%lf",&a,&b,&h);   //这里使用"%lf,%lf,%lf"格式输入时就必须在各数间用逗号","隔开
      double s = (a+b)*h/2;
      printf ("%lf",s);

      return 0;
}

--------------------Configuration: LearnCpp - Win32 Debug--------------------
Compiling...
LearnCpp_EX_16.cpp
Linking...

LearnCpp.exe - 0 error(s), 0 warning(s)
2012-07-09 23:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-373060-1-1.html




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

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