当前位置: 代码迷 >> 汇编语言 >> 小弟我不知道小弟我的程序哪里出了有关问题 【多谢大家了】
  详细解决方案

小弟我不知道小弟我的程序哪里出了有关问题 【多谢大家了】

热度:1016   发布时间:2016-05-02 05:14:54.0
求助 我不知道我的程序哪里出了问题 【谢谢大家了】
题目是知道三角形三边求面积。要这样分布来求,可是我写出来却得不到预期效果 ,求助 谢谢大家了

#include<stdio.h>
#include<math.h>
void input(double *a,double *b,double *c)
{
 scanf("%lf%lf%lf",a,b,c);
}
double istriangle(double *a,double *b,double *c)
{
 double temp;
 if(a+b>c&&a+c>b&&b+c>a) temp=1;
 else temp=0;
 return(temp);
}
double area(double *a,double *b,double *c)
{
 double s; double p;
 p=((a+b+c)/2);
 s=sqrt(p*(p-a)*(p-b)*(p-c));
 return(s);
}
void print(double n)
{
 printf("%lf",&n);
}
void main()
{
 double a,b,c,temp,sum;
 input(&a,&b,&c);
 temp=istriangle(&a,&b,&c);
 sum=area(&a,&b,&c);
 print(sum);
}

------解决方案--------------------
double istriangle(double *a,double *b,double *c)
{
 double temp;
 if(a+b>c&&a+c>b&&b+c>a) temp=1;
 else temp=0;
 return(temp);
}
===========
既然a,b,c是地址指针,那么if(a+b>c&&a+c>b&&b+c>a)就不对了吧
------解决方案--------------------
都提示你了
cannot add two pointers

if(a+b>c&&a+c>b&&b+c>a)
改为
if( *a + *b > *c || *a + *c> *b || *b + *c > *a)
只要成立2边和小于第3边就可以了啊,不需要全部检测吧
  相关解决方案