C语言编程:输入ABCD四点坐标,假设ABC可以构成三角形,判断D在不在内?

作者&投稿:出丹 (若有异议请与网页底部的电邮联系)
c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。~

&&、||运算符使用错误,代码为:
#include
int main()
{
float a,b,c;
printf("请输入边长:
");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>=c || a+c>=b || b+c>=a)
{ if (a==b&&a==c&&b==c)
printf("等边三角形
");
else if ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("直角三角形
");
else if (a==b||a==c||b==c )
printf("等腰三角形
"); }
else
printf("普通三角形
");
return 0;
}

扩展资料:
&&、|| 和 !的优先级为:
! > && > ||
! 运算符比许多 C++ 运算符具有更高的优先级。因此,为了避免错误,应始终将其操作数括在括号中,除非打算将其应用于没有其他操作符的变量或简单表达式。例如,来看以下表达式:
! (x > 2)! x > 2
第一个表达式将 !运算符应用于表达式 x>2,它是在问“x 是否不大于 2”,然而,第二个表达式是将 !运算符应用于到 x。它是在问“x 的逻辑是否大于 2”。
假设 x 被设置为 5,由于 5 是非零值,所以被认为是 true,而 !运算符会将其反转为 false,即为 0,然后,> 运算符将确定 0 是否大于 2。为了避免这种错误,始终使用括号是明智的。
参考资料:
百度百科-逻辑运算符

是逻辑错误还是语句错误啊?
是语句错误的话麻烦把错误内容发上来。
如果是逻辑错误的话,我不明白你那个Sabcd是做什么的,
在代码段
if(abs(Sabcd,Sabc)<=(1e-4))
printf("On");
else
printf("Out");
}
else if(abs(Sabcd,Sabc)<=(1e-4))
中,有abs(Sabcd,Sabc)的用法吗?还是你要写“-”?

你最近备考的是什么?全是计算几何的东西啊

上一个问题的大部分没变,加了一个判断符号的函数,一个求三点叉积的函数,判断三个叉积方向相同就行了。

#include<stdio.h>
#include<math.h>
typedef struct Point{              // 二维点或矢量
    double x, y;
}Point;
Point decPoint(Point p1,Point p2){ //计算 p1 - p2
    Point ret;
    ret.x=p1.x - p2.x;
    ret.y=p1.y - p2.y;
    return ret;
}
double multiPoint(Point p1, Point p2) // 计算叉乘 p1 × p2
{
    return (p1.x * p2.y - p2.x * p1.y);
}
double crossByThreePoint(Point A,Point B,Point C) //叉乘 (A->B)X(A->C)
{
    return multiPoint(decPoint(B,A),decPoint(C,A));
}
int sign(double x){
    double eps=1e-8;
    if(fabs(x)<eps) return 0;
    if(x>0) return 1;
    return -1;
}
int main(){
    int i,j,k;
    Point pts[4];// 寸4个点
    double x,y;
    int sgn[3];
    for(i=0;i<4;i++)
        scanf("%lf%lf",&pts[i].x,&pts[i].y);
    sgn[0]=sign(crossByThreePoint(pts[0],pts[1],pts[3]));
    sgn[1]=sign(crossByThreePoint(pts[1],pts[2],pts[3]));
    sgn[2]=sign(crossByThreePoint(pts[2],pts[0],pts[3]));
    if(sgn[0]==0 || sgn[1]==0 || sgn[2]==0)
        printf("Point D is on the triangle!");
    else if(sgn[0]==sgn[1] && sgn[1]==sgn[2])
        printf("Point D is in the triangle!");
    else
        printf("Point D is out of the triangle!");
    return 0;
}



C语言.编程:输入整数a和b,若 大于100,则输出 百位以上的数字,否则输 ...
\/\/楼主,这里的大于100,指的是它们的和大于100,还是各个数字呀?\/\/下面的例子,理解为各个数字大于100,如果理解有误,楼主可以做简的修改 include <stdio.h> void main(){ int a,b,c,d,sum;printf("请输入两个数:\\n");scanf("%d%d",&a,&b);if(a<=100&&b<=100)printf("两个数...

C语言编程,输入正整数a,b,输出a,b之间所有素数之和,求解答我的代码哪里...
有两个错误,见下面代码:include<stdio.h> void main(){ unsigned int a,b,x,y,m=0;printf("a=");scanf("%d",&a);printf("b=");scanf("%d",&b);if(a>=b)printf("wrong");else for(x=a+1;x<b;x++){ for(y=2;y<x;y++){ if(x%y==0) break;} if(y==x) m=m...

用c语言,输入两个浮点数a和b,输出a\/b
int main(){ float a,b;printf("请输入两个浮点数a b:");scanf("%f %f",&a,&b);if(0==b)printf("ERROR\\n");else printf("%.2f\\n",a\/b);return 0;}

输入a和b,计算a+|b|的值 C语言
include <stdio.h>#include <math.h>main(){ float a,b; scanf("%f %f",&a,&b); printf("a+|b|=%f",a+fabs(b));}注意运用已有的函数

c语言编程。输入两个正整数,分别赋给变量a,b,计算ab之间所有整数之和...
include<stdio.h> void main(){ int a,b,sum=0;printf("请输入两个正整数:\\n");scanf("%d %d",&a,&b);if(a>b){ int temp;temp=a;a=b;b=temp;} for(int i=a;i<=b;i++)sum+=i;printf("两者之间所有正整数的和为:%d\\n",sum);} ...

从键盘输入两个不相等的数,存入a和b,判断a和b的大小,操作实现使a的值大...
include <stdio.h> int main(){ int a, b, tmp;printf("请输入两个数:a b\\n");scanf("%d %d", &a, &b);if(a < b){ printf("a < b,需要交换两个数\\n");tmp = a;a = b;b = tmp;printf("交换后的a为:%d,b为:%d",a,b );} else { printf("a大于了, a为:...

c语言,输入两个数,a和b;输出结果为a的b次方。请详细解释一下每一步...
include<stdio.h> void main(){ int a,b,i;int jg=1;a=3;b=2;for(i=1;i<=b;i++)jg =jg*a;printf("jie guo shi jg=%d",&jg);} 这是我自己写的,没经过验证,你自己看下对不对,再改改.

用c语言编程输入整数a和b,若a大于100,则输出百位以上的数字,否则输出两...
int a,b;scanf("%d%d",&a,&b);if(a>100){ printf("%d",a\/100);\/\/百位以上数字?有歧义 } else { printf("%d",a+b);} return 0;

C语言当运行以下程序时,从键盘输入:ab<CR> c <CR> def <CR> (<CR>...
不介意的话你的代码应写成 include "stdio.h"define N 6 void main ( ){char c [N];int i=0;for (; i<N;i++)c[i]=getchar();for (i=0;i<N; i++)putchar(c[i]);} 解释如下 getcgar()用来读取单个字符 素以依次输入ab<CR>c<CR>def<CR>时有 c[0]=a、c[1]=b、c...

c语言高精度加法 :输入两个整数a和b输出这两个整数的和a,b不超过100位...
考虑溢出 include <stdio.h> include <string.h> void main(){ char a[100],b[100];int c[101],d,e,i,f=0;for(i=0;i<101;i++){ c[i]=0;} gets(a);gets(b);d=strlen(a);e=strlen(b);for(i=0;i<d;i++){ c[i]=a[d-i-1]-48;} for(i=0;i<e;i++){ c[...

阿城区15043663211: c语言程序设计 -
钮狠夫坦: #include<stdio.h> #include<math.h> int Len(int x1, int x2, int y1, int y2) { return sqrt((x1 - y1)*(x1 - y1) + (x2 - y2)*(x2 - y2)); } int main() { int a1,a2,b1,b2,c1,c2,d1,d2; int AB,BC,CD,DA; scanf("%d%d%d%d", &a1,&a2,&b1,&b2,&c1,&c2,&d1,&d2); ...

阿城区15043663211: c语言的 当输入为abcd时,写出下列程序的输出结果. -
钮狠夫坦: input: abcd output: aaa 当是a时,执行完Case 'a' :的printf()后,就又去执行后面的两个,所以会输出3个a, 下面与之同 bb c end! 当是d时,abc均不符合,故走default:其后有break;所以就只输出一个end!

阿城区15043663211: 请用c语言控制台程序写一个程序 -
钮狠夫坦: #include <stdio.h> typedef struct point { int x; int y; } quadrangle; int main(int argc, char const* argv[]) { quadrangle four[4]; int i, j, tmpx, tmpy; for(i=0; i<4; i++) { printf("输入第%d个点,每个点由x轴,y轴坐标表示如:12 5\n", i+1); scanf("%d%d...

阿城区15043663211: C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少? -
钮狠夫坦: C语言编程题:任意输入4个点,求围成四边形的面积是多少.代码如下:#include "stdio.h"#include "math.h" void main() { double x[4],y[4]; for(int i=0;i<4;i++) { scanf("%lf%lf",&x[i],&y[i]); } double mianji=0.0; for(int ii = 1 ; ii< 4 ; ii++) { mianji+...

阿城区15043663211: C语言输入四个点,从起点(0.0)依次到点1、2、3、4,输出总长的最短距离及各个点的顺序(距离可为斜线) -
钮狠夫坦: #include #include #define N 4 int main(void) { int i; char str[1024]; float a[N+1][2] = {0}; float sum=0,min=FLT_MAX; float alphaX, alphaY,dist=0; printf("请输入4个坐标点x,y:\n"); for(i=1; i scanf("%f,%f",&a[i][0],&a[i][1]);} for(i=1; i alphaX = a[i][...

阿城区15043663211: C语言编程,给4个坐标求围成图形面积.. 有4种情况1:三个坐标一条直线,2:4坐标一条直线 3:凹四边形 4:凸四边形 急用啊~~~~ -
钮狠夫坦: #include"stdio.h" #include"stdlib.h" #include"match.h" main() {int x1,x2,x3,x4,y1,y2,y3,y4,a,b,c,d,e,f,g,p1,p2,p3,p4,P,s1,s2,s3,s4,S; printf("输入A点坐标:"); scanf("%d,%d",&x1,&y1); printf("输入B点坐标:"); scanf("%d,%...

阿城区15043663211: C 语言,当输入abcd,求程序输出的结果. 要解释. -
钮狠夫坦: while(i>0) { str[2*i] = str[i]; //偶数的位置填入相应的字符, str[2*i-1] = '*'; //奇数的位置填入'*' i--; } 结果是 a*b*c*d*

阿城区15043663211: C语言编程问题 平行四边形 -
钮狠夫坦: 看来判断是没有问题的,我刚才写了一个,我只把画图的部分给你!/**************** 初始化图形引擎 ***********/int driver,mode,errorcode; driver=DETECT; initgraph(&driver,&mode,"d:\\tc\\bgi"); errorcode=graphresult(); if(errorcode!=grOk) { ...

阿城区15043663211: c语言求解,急!!输入有若干行,每行四个数,分别代表两个坐标点(a,b)和(c,d). -
钮狠夫坦: 应该采用科学记数法的格式进行输出 即将printf()改为 printf("%1.3e",m); 即可

阿城区15043663211: c语言编写一个程序实现如下功能:定义一个点的数据结构类型,实现以下功能:1 为点输入坐标值.2 求两个点中点坐标.3 求两点间距离
钮狠夫坦: #include <math.h> #include <stdlib.h> #include <stdio.h> struct POINT { double x,y; }; void main() { struct POINT point1,point2,pointmid; printf("输入点1坐标(用逗号隔开横纵坐标):"); scanf("%lf,%lf",&point1.x,&point1.y); printf("输入...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网