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。为了避免这种错误,始终使用括号是明智的。
参考资料:
百度百科-逻辑运算符
#include
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a)
{
if(a==b && b==c)
{
printf("等边三角形");
}
else 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
{
printf("普通三角形");
}
}
else
{
printf("非三角形");
}
return 0;
}
int tr(double a[])//判断是否能构成三角形
{
return (a[0]>=(a[1]+a[2]));
}
int zhijiao(double a[])//判断是否为直角三角形
{
if(a[0]*a[0]==(a[1]*a[1]+a[2]*a[2]))return 1;
else return 0;
}
int deng(double a[])//判断是否为等腰、等边三角形
{
long n=0;
if(a[0]==a[1])n++;
if(a[0]==a[2])n++;
if(a[1]==a[2])n++;
return n;
}
int main()
{
double a[3],c,e;
printf("输入三条边的长度:");scanf("%lf %lf %lf",a,a+1,a+2);
if(a[1]>a[0]){c=a[1];a[1]=a[0];a[0]=c;}
if(a[2]>a[0]){c=a[2];a[2]=a[0];a[0]=c;}
if(tr(a)){printf("无法构成三角形\n");return 0;}
c=zhijiao(a);e=deng(a);
if(e==3)printf("该三角形为等边三角形\n");
else if(e&&c)printf("该三角形为等腰直角三角形\n");
else if(e)printf("该三角形为等腰三角形\n");
else if(c)printf("该三角形为直角三角形\n");
else printf("该三角形为一般三角形\n");
return 0;
}
最原始办法还是先比较三边
常见的三角形是锐角,直角,钝角,等边,等腰,等腰直角
设三边长是a,b,c,且有a>=b>=c,三边长以a最长,c最短
锐角:a²<b²+c²
直角:a²=b²+c²
印角:a²>b²+c²
等边:a=b=c
等腰:a=b或者b=c
等腰直角:a²=b²+c²且b=c
余弦定理呀!
主要就是:
先定义a,b,c,x,y,z
输入a,b,c
之后就是:
x=3.141562653*arccos((a^2+b^2-c^2)/2ab);
y=3.141562653*arccos((a^2+c^2-b^2)/2ac);
z=3.141562653*arccos((c^2+b^2-a^2)/2bc);
输出的就是角,自己判断!
用if条件语句判断三边的关系,分别有等边,等腰,直角,等腰直角,和一般三角形六种情况
C语言编写一个程序,求x> y的运行结果
以下是一个简单的C语言程序,可以比较两个整数x和y,并打印出相应的结果:在这个程序中,我们首先声明了两个整数变量x和y,然后使用printf函数提示用户输入两个整数。接下来,我们使用scanf函数读取用户输入的整数,并将它们存储在变量x和y中。然后,我们使用一个if-else语句来比较x和y的值。如果x大于...
用c语言怎样编一个程序?
利用C语言编写一个求两数相加的和的编程思想和方法如下:1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。2.然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。3.接着进行a和b的加法运算,将结果赋值给变量c。4.最后使用printf()语句将计算结果显示在屏幕上...
c语言如何实现一个程序循环执行n次
在C语言中,可以使用for循环或while循环来实现一个程序循环执行n次。以下是两种方法的示例:使用for循环:首先定义一个整型变量i,用于计数。然后使用for循环,循环n次。每次循环中,i都会增加1。在循环体中,编写需要重复执行的代码。示例代码如下:使用while循环:首先定义一个整型变量i,用于计数。然后...
用C语言编写判断一个数是否是素数的程序
1、打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#includestdio.h用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。2、首先,判断这个数是否小于2.若是,则直接返回0,即表示它不是一个素数。3、然后定义中间的因数i,...
编写一个程序,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中...
1、 编写一个程序,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a中的十位和个位数一次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,执行程序后,c=4152.2010喜羊杨 | 浏览9151 次 |举报 我有更好的答案推荐...
c语言问题 1.编写一个程序,完成以下功能: (1)输入10个学生的单科成绩...
return (i+1);} return 0;} int insert(int c[], int n, int b){ int i, j, buf;if(b > c[n-1]){ c[n] = b;return 0;} for(i = 0; i < n; i++){ if(b < c[i]){ buf = c[i];c[i] = b;break;} } for(j = n; j > i+1; j-- ){ c[j]=...
C语言编写一个程序判断一个数是否为素数?急求
1、首先打开编辑器软件,在里面新的C语言文件里引入头文件并输入主函数,在主函数中输入代码:2、然后写入判断素数的逻辑,这里先引入一个scanf函数,接受用户输入的数值存入变量,对接收的变量判断其是否为素数,判断的依据是如果能被2到n-1中的某个数整除就是素数,否则就不是。最后把判断的结果打印...
编写一个C语言程序,求出1至1000之间满足“用3除余2;用5除余3;用7除...
i++){ if(i%3==2&&i%5==3&&i%7==2){ printf("%d ",i);j++;if (j%5==0){printf("\\n");} } } return 0;} C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
C语言或c++编写一个程序有以下功能:先读入一组数字然后输入一个数字...
先把输入的数字存放到一个数组中,已输入的数字等于-1作为结束输入的条件,然后再提示输入要找的数,用顺序查找的方式查找数组中是否有输入的数,最后输出查找的结果。#includeint main(){ int n,i,x,a[100]; printf("请先输入一组数字,以-1结束:\\n"); do { scanf("%d",&a[n]);...
c语言编写一个多分支选择程序,程序中应包含哪些部分?
代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一个switch(m),因为m=1,所以进入case 1分支。在这个分支里,执行第二个switch(n),因为n=1,所以进入case 1分支,运行x=x*2=1*2=2。由于case 1没有break语句,因此继续执行case 2...
戴骂匹维:[答案] (1)a+b>c && a+c>b && b+c>a && a>0 && b>0 && c>0 (2) sqrt(t *(t-a) * (t-b) *(t-c))(1) scanf("%d%d", &n1,n2);(2) int t...
金牛区15687301180: c语言编三角形 - ?
戴骂匹维: #include<stdio.h>#include<math.h> main() { double a,b,c,s,area; printf("请输入三角形三条边的长\n"); scanf("%lf %lf %lf",&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%lf %lf %lf\n",a,b,c); printf("area=%f\n",area); } 这个肯定可以!!
金牛区15687301180: 编制一个C语言程序,输入三角形的三边边长a、b、c,判断此为何种类型三角形 - ?
戴骂匹维:#include int pc_f1(int a,int b,int c){if(a==b&&b==c) return 1 } int pc_f2(int a,int b,int c){if(a==b||b==c||c==a) return 1; } int pc_f2(int a,int b,int c){if((a*a+c*c==b*b)||(a*a+b*b==c*c)||(a*a==b*b+c*c)) return 1; } int main(){int a,b,c,f1=0,f2=0,f3...
金牛区15687301180: 编写一个C语言程序,输入下列三角形 * * * * * * - ?
戴骂匹维: #include<stdio.h> main() { int i,j; for(i=0;i<3;i++){ dufor(j=0;j<=i;j++) printf("*"); printf("\n"); } }如图所示,是要zhi这样的三dao角型么,望采纳.回.答....
金牛区15687301180: C语言程序,输入三角形的三边,计算三角形的面积 - ?
戴骂匹维: #include #include int main() {float s,a,b,c,p;printf("请输入三角形的三边,以空格隔开");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&c+b>a){p=(a+b+c)/2;p=p*(p-a)*(p-b)*(p-c);s=sqrt(p);printf("%f",s);}else printf("你输入的三边,不能构成三角形");return 0; } 试试~看看是不是你想要的
金牛区15687301180: C语言设计程序:从键盘输入三角形的三边长为a,b,c,用海伦公式计算并输出三角形的面积. - ?
戴骂匹维: 两者计算是不同的.s=1/2*(a+b+c) 按C语言的运算规则,先算括号,a+b+c,结果为float型 然后由于/和*同级,因此从左到右计算.先计算1/2 1、2都是整型,整型计算,结果仍为整型,1/2=0,因此,不管后面a+b+c的值为何,s的值都是0 而对于s=(a+b+c)/2,先算a+b+c,结果为float型,float型和整型2计算,结果为float型. 因此s=1/2*(a+b+c)是错误的,s=(a+b+c)/2是正确的.
金牛区15687301180: C语言做出个显示三角形这么些代码 - ?
戴骂匹维: #define N 5main() {for(i=1;i<=N;i++){for(j=1;j<=i;j++)printf("*");printf("\n");} }
金牛区15687301180: 编写c语言程序,,输入三角形三边a,b,c,判断a,b,c,能否构成三角形, - ?
戴骂匹维: int main(){ int a,b,c; printf("please input 3 numbers as a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); if(a+b else if(a+c else if(b+c else if(a==b){ if(b==c) printf("等边\n"); esle printf("等腰\n"); } else if(b==c) printf("等腰\n"); else if (a==c) printf("等腰\n"); else printf("一般\n"); return 0; } 头文件有些不大记得了,你自己看着稍微加一点吧,就是一些最基础的头文件
金牛区15687301180: 用C语言编写一个程序,实现用户输入的三角形的三条边长判定是何种三角形??
戴骂匹维: #include<iostream.h> void main() {float a, b, c;for(cin>>a>>b>>c;a>0&&B>0&&c>0;){if(a+b<c||b+c<a) cout<<"不能构成三角形\n";else if(a==b&&b==c) cout<<"等边三角形\n";else if((a*a==b*b+c*c)||(b*b==a*a+c*c0||(c*c==a*a+b*b)) { if(...
金牛区15687301180: 编写C程序.实现根据用户输入的三角形的三条边长判定是何种三角形#include #includemain(){float a,b,c;printf("输入三角形的三条边a,b,c:");scanf("%f,%f,... - ?
戴骂匹维:[答案] Turbo 2.0 编译通过! #include #include main() { float a,b,c; /*printf("输入三角形的三条边a,b,c:"); */ printf("please input triangle side a,b,c:"); scanf("%f,%f,%f",&a,&b,&c); /* 判断三边是否构成三角形 任意两条边的和大于另一条边,写程序时...