标题:[求助]求助2道题目写了2天了
只看楼主
qinyinqigg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
 问题点数:0 回复次数:39 
[求助]求助2道题目写了2天了
#include<stdio.h>
#include<math.h>
{
int a,b,c;
float area,s,x;
printf("Plesae input a,b,c");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2.0;
x=s*(s-a)*(s-b)*(s-c);
area=sqrt(x);
printf("area=%f\n",area);
}
else
printf("error!");
}


不知道错哪里今年大1而且是大专寒不过还是有点志向和野心的……刚刚学到IF语句和SWITH开关语言这道题目是要我输入a,b,c代表三角形的3条边然后看是否能构成三角形,可以的话输出area=sqrt(s*(s-a)*(s-b)*(s-c))我忘了这是什么了书没带回家不过是要输出这个area,sqrt是根号键盘打不出老师说用这个代替……也不知道有没有打错,然后就是如果不能构成三角形就输出错误,这程序自己搞了2天了都不知道错哪里也找不到老师……这年头老师都是幽灵一下课就消失了希望各位老大帮帮忙告诉我错哪里!谢谢!
搜索更多相关主题的帖子: 大专 include 三角形 而且 
2006-11-11 14:08
qinyinqigg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
得分:0 
第2题输入3个整数然后按由小到大排列
#include<stdio.h>
{
int x,y,z,a,b,c;
scanf("%d,%d,%d,"&x,&y,&z);
if(x>y>z)
a=x,b=y,c=z;
if(x>z>y)
a=x,b=z,c=y;
if(y>x>z)
a=y,b=x,c=z;
if(y>z>x)
a=y,b=z,c=x;
if(z>x>y)
a=z,b=x,c=y;
if(z>y>x)
a=z,b=y,c=x;
printf("%d,%d,%d",a,b,c);
}

好象是麻烦了点不过这是我的做法我感觉因该可以,可是事实总是残酷的……虽然后来老师公布了做的方法可是我想知道我的做法到底能不能做希望各位老大不惜笔墨帮助新人啊!谢谢!

想当IT工程师......
2006-11-11 14:16
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
这个有错嘛???
我有点忘了。
有没有个直角三角形是3:4:5的呀?

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-11 14:17
qinyinqigg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
得分:0 
哦对了我们学校用的是TC2.0,不知道大家都用什么……感觉好老都是DOS的东西。

想当IT工程师......
2006-11-11 14:18
qinyinqigg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
得分:0 
对啊3,4,5可以构成三角形的

想当IT工程师......
2006-11-11 14:19
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 

这些是你故意没写的吗?
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c;
float area,s,x;
printf("Plesae input a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2.0;
x=s*(s-a)*(s-b)*(s-c);
area=sqrt(x);
printf("area=%f\n",area);
}
else
printf("error!");

return 0;
}


该学习了。。。
2006-11-11 14:19
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 

晕~貌似不是直角的。那我没发现有什么错误。你的sqrt的确就是根号了!


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-11 14:19
qinyinqigg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
得分:0 
以下是引用zhanghuan_10在2006-11-11 14:19:15的发言:

这些是你故意没写的吗?
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c;
float area,s,x;
printf("Plesae input a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2.0;
x=s*(s-a)*(s-b)*(s-c);
area=sqrt(x);
printf("area=%f\n",area);
}
else
printf("error!");

return 0;
}

int main(void)
return 0;
老大这是什么东西啊?我真的不知道啊……


想当IT工程师......
2006-11-11 14:20
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 
有啊。输入的数字之间要加逗号啊。其余的运行没有错误啊!

该学习了。。。
2006-11-11 14:20
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
以下是引用qinyinqigg在2006-11-11 14:16:52的发言:
第2题输入3个整数然后按由小到大排列
#include<stdio.h>
{
int x,y,z,a,b,c;
scanf("%d,%d,%d,"&x,&y,&z);
if(x>y>z) 这边是不可以这样比的~首先是x>y如果成立它的值就成了1,然后再是1和z比较,难免会出现问题。所以LZ以后要注意了!
a=x,b=y,c=z;
if(x>z>y)
a=x,b=z,c=y;
if(y>x>z)
a=y,b=x,c=z;
if(y>z>x)
a=y,b=z,c=x;
if(z>x>y)
a=z,b=x,c=y;
if(z>y>x)
a=z,b=y,c=x;
printf("%d,%d,%d",a,b,c);
}

好象是麻烦了点不过这是我的做法我感觉因该可以,可是事实总是残酷的……虽然后来老师公布了做的方法可是我想知道我的做法到底能不能做希望各位老大不惜笔墨帮助新人啊!谢谢!


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-11 14:21



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




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

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