标题:[求助]函数判断三角形的困惑
取消只看楼主
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
 问题点数:0 回复次数:5 
[求助]函数判断三角形的困惑

书上有道题目,要求输入三个数据,然后判断是类型否为等腰三角形或等边三角形,或不等边三角形。然后输出响应的信息。要求用到 结构 函数。

我敲了个代码,但是在函数判断内出现问题。无论什么数字,都只显示一种情况。为什么??
能帮我看看,问题出在哪里吗?能否进行精简改进呢??

代码如下:

#include<stdio.h>
float type(float);
struct border
{
float left;
float right;
float hemline;
};
void main()
{
struct border triangle;
triangle.left;
triangle.right;
triangle.hemline;
printf("请输入三角形的三个边的长度:\t");
scanf("%f%f%f",&triangle.left,&triangle.right,&triangle.hemline);
type(triangle.left,triangle.right,triangle.hemline);

}

float type(float x,float y,float z)
{

if(x+y>z||x+z>y||y+z>x)
{
if(x==y&&x==z&&y==z)
printf("您输入的是一个等腰三角形\n");
else if(x==y&&x==z&&y==z)
printf("您输入的是一个等边三角形\n");
else
printf("您输入的是一个不等边三角形\n");
}
else
printf("对不起,您输入的不符合三角形的定义。\n");
}

[此贴子已经被作者于2006-9-14 21:14:35编辑过]

搜索更多相关主题的帖子: 函数 三角形 float 困惑 判断 
2006-09-14 21:01
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
得分:0 
不好意思,晕头了,可是最后结果总是输出不等边!!为什么呢?
2006-09-14 21:15
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
得分:0 
以下是引用mayudong1在2006-9-14 21:15:32的发言:
type定义不对且不应该返回float型
判断式也不真确

可是type里数值是float型的啊。三边应该可以是小数字的呀!

2006-09-14 21:19
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
得分:0 
以下是引用nuciewth在2006-9-14 21:15:01的发言:

#include<stdio.h>
float type(float,float,float);
struct border
{
float left;
float right;
float hemline;
};
void main()
{
struct border triangle;

printf("请输入三角形的三个边的长度:\t");
scanf("%f%f%f",&triangle.left,&triangle.right,&triangle.hemline);
type(triangle.left,triangle.right,triangle.hemline);
getch(); /*这个的作用是什么,上边已经用scanf输入了呀??*/

}

float type(float x,float y,float z)
{

if(x+y>z&&x-y<z) /*而且我记得两边只和大于第三边就能够判断是三角形了啊,还用减吗?*/
{

if(x==y&&y==z)
printf("*您输入的是一个等边三角形\n");
else if(x==y||x==z||y==z)
printf("**您输入的是一个等腰三角形\n");
else
printf("***您输入的是一个不等边三角形\n");
}
else
printf("****对不起,您输入的不符合三角形的定义。\n");
}


这么判断仍然是错误的啊,无论怎么输入,都显示不符合三角形定义!!

[此贴子已经被作者于2006-9-14 21:28:44编辑过]

2006-09-14 21:23
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
得分:0 

工作区的问题,现在已经解决,但是我想问下 getch(); 这句话在这里面的作用是什么啊??
谢谢!!

2006-09-14 21:37
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
得分:0 
非常感谢,我再研究研究,不过VC6下编译不通过,显示 'type' : must return a value

这题目,我老觉得用不到结构体。
2006-09-14 21:47



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




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

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