当前位置:首页 » 编程语言 » c语言子函数判断三角形
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言子函数判断三角形

发布时间: 2022-12-30 09:14:55

A. c语言判断三角形类型调用函数函数

void rectan(){
double a,b,c, square;
double tmp;
char max;
scanf("%lf%lf%lf",&a,&b,&c);
if( a == b || b==c || a ==c){//等腰三角形一定为锐角(包含等边)
printf("锐角三角形\n");
return;
}
//将角C选为最大角,若输入不是此交换使C最大
max = a>b?(tmp = a,'a'):(tmp = b,'b');
max = tmp>c?max:(tmp = c,'c');
if(max != 'c'){
tmp = a;
a = c;
c = tmp;
}

B. C语言判断三角形

#include<stdio.h>

voidBubbleSort(int*pData,intcount)
{
inttemp;
for(inti=1;i<count;i++)
{
for(intj=count-1;j>=i;j--)
{
if(pData[j]<pData[j-1])
{
temp=pData[j-1];
pData[j-1]=pData[j];
pData[j]=temp;
}
}
}
}

intmain()
{
intdata[3]={0};
printf("输入: ");
for(inti=0;i<3;i++)
{
scanf_s("%d",data+i);
}
BubbleSort(data,3);
inta=data[0],b=data[1],c=data[2];
if(a+b>c&&b-a<c)
{
printf("能构成三角形 ");
if((a^2)+(b^2)<(c^2))
{
if(a==b||a==c||b==c)
{
if(a==b==c)
{
printf("等边三角形 ");
}
printf("等腰三角形 ");
}
printf("锐角三角形 ");
}
elseif((a^2)+(b^2)==(c^2))
{
printf("直角三角形 ");
}
else
printf("钝角三角形 ");
}
return0;
}

C. 用C语言设计一程序判别三角形

错误太多了,就不指出哪里修改了(分5大类错误,1缺少分号,2.{}不配对,3相等关系用==,4.逻辑判断有误5.对三角形成立的条件理解不正确【必须任意两边之和大于第三边,而不是≥第三遍】),直接贴上正确的代码
#include <stdio.h>
int main(void){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if (a+b<=c||a+c<=b||b+c<=a){
printf("\n不能构成三角形:");
}
else if((a==b||a==c||b==c)&&!(a==b&&b==c&&a==c)){
printf("\n等腰三角形:");
}
else if(a==b&&b==c&&a==c){
printf("\n等边三角形:");
}
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b){
printf("\n直角三角形:");
}
else if((a==b&&a*a+b*b==c*c)||(b==c&&b*b+c*c==a*a)||(a==c&&a*a+c*c==b*b))
printf("\n等腰直角三角形:");
else
printf("\n一般三角形:");
return 0;
}

D. c语言编程,判断三角形形状,

你的输入错误了吧?你限定的输入格式是用逗号隔开的
输入例子一13,13,13
例子二13,23,13

E. 怎样用C语言判断三角形类型(等边,等腰,直角,等腰直角)

#include<stdio.h>
main()
{
doublea[3],b;
while(1){
scanf("%lf%lf%lf",&a[0],&a[1],&a[2]);//输入三边
if(a[0]>0&&a[1]>0&&a[2]>0){//三边中任何一边都得大于0
if(a[0]<a[1]){b=a[0];a[0]=a[1];a[1]=b;}//将最大的边交换到a[0]中
if(a[0]<a[2]){b=a[0];a[0]=a[2];a[2]=b;}
if(a[1]+a[2]<=a[0]){
printf("不是三角形 ");continue;}//两个短边之和不大于第三边,不是三角形
if(((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0]))&&(a[0]==a[1]||a[1]==a[2]||a[0]==a[1])){
printf("等腰直角三角形 ");continue;}//两个短边的平方=长边的平方就是直角
if((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0])){
printf("直角三角形 ");continue;}
if(a[0]==a[1]&&a[0]==a[2]){
printf("等边三角形 ");continue;}
if(a[0]==a[1]||a[1]==a[2]||a[0]==a[1]){
printf("等腰三角形 ");continue;}
}else
printf("不是三角形 ");
}
}
//这里计算直角三角形时,转成int在进行比较,是为了降低精度,特别是计算等腰直角三角形,
//根号2,是无限的小数,不降低精度很难能得到的相等关系的。

如图所示,望采纳。。。。。。

F. C语言,怎么编程判断三角形的形状

代码如下:

#include <stdio.h>

#include <stdlib.h>

#defineEPSINON1e-3
#defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表达式嵌套
#define ZERO(x)((x)>-EPSINON && (x)<EPSINON)
#define MAX(a,b)(((a)>(b))?(a):(b))
#define MIN(a,b)(((a)<(b))?(a):(b))
float a, b, c;
float max, mid, min;
char input_err_flag = 0;
char judge_err_flag = 0;
int equal(float a, float b)
{
float tmp;
tmp = a - b;
tmp = ZERO(ABS(tmp));
return tmp;
}
void input(void)
{
a = b = c = 0;
printf("输入三条边的值:");
scanf("%f %f %f",&a, &b, &c);
if(!(a>0) || !(b>0) || !(c>0))
{
input_err_flag = 1;
}
}
void sort(void)
{
max = MAX(MAX(a,b),c);
min = MIN(MIN(a,b),c);
if(MAX(a,b) < c)
mid = MAX(a,b);
else
mid = MAX(MIN(a,b),c);
}
void judge(void)
{
float max_square, mid_square, min_square, tmp;
if(max >= (mid+min))
{
judge_err_flag = 1;
}
else
{
max_square = max * max;
mid_square = mid * mid;
min_square = min * min;
tmp = mid_square + min_square;
if(equal(mid,min) || equal(max, mid))
{
if(equal(mid, min))
{
if(mid == max)
puts("等边三角形。");
else if(equal(max_square, tmp))
puts("等腰直角三角形。");
else if(max_square < tmp)
puts("等腰锐角三角形。");
else
puts("等腰钝角三角形。");
}
else
{
if(equal(min, mid))
puts("等边三角形。");
else
puts("等腰锐角三角形。");
}
}
else if(equal(max_square, tmp))
puts("直角三角形。");
else if(max_square < tmp)
puts("锐角三角形。");
else
puts("钝角三角形。");
}
}
int main(void)
{
char cs, ch;
do
{
input();
sort();
judge();
if(input_err_flag)
{
input_err_flag = 0;
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("输入错误,a b c必须大于零,是否新输入(y/n):");
}
else if(judge_err_flag)
{
judge_err_flag = 0;
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("组不成三角形,是否重新输入(y/n):");
}
else
{
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("是否再输入一组数据(y/n):");
}
ch = getchar();
}
while(ch=='y' || ch=='Y' || ch==' ');
puts("Goodbye!");
return 0;
}

G. C语言:三角形类型判断(循环)

按照你的要求编写的判断三角形类型的C语言程序如下

#include<stdio.h>
#include<math.h>
floatcal_area(floata,floatb,floatc){
floatp,s;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
returns;
}
intmain(){
inti,n;
floata,b,c,e=0.001;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a){
printf("notriangle ");
}elseif(fabs(a-b)<e&&fabs(b-c)<e){
printf("equilateraltriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif((fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e)&&(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e)){
printf("isoscelesrighttriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a-b)<e||fabs(b-c)<e||fabs(a-c)<e){
printf("isoscelestriangle,");
printf("%.1f ",cal_area(a,b,c));
}elseif(fabs(a*a+b*b-c*c)<e||fabs(a*a+c*c-b*b)<e||fabs(b*b+c*c-a*a)<e){
printf("righttriangle,");
printf("%.1f ",cal_area(a,b,c));
}else{
printf("generaltriangle,");
printf("%.1f ",cal_area(a,b,c));
}
}
return0;
}


运行结果
3
3.02.06.0
notriangle
3.04.05.0
righttriangle,6.0
1.01.01.414
isoscelesrighttriangle,0.5

H. c语言判断三角形形状

你对r赋值的时候用了两个等于号“==”,赋值用一个等于号,判断 的时候采用两个!
而且输出语句应该放在第一个if外面,应该就这两个问题,代码如下:
#include <stdio.h>
int main(){
int a, b, c, r;
printf("Please input three integers:\n");
scanf("%d%d%d",&a,&b,&c);
if(a == b ==c) r = 3;
else{
if(a + b > c && a - b < c){
if(b + c > a && b - c < a){
if(a + c > b && a - c < b){
if(a * a == b * b + c * c || b * b == a * a +c * c || c * c == a * a + b * b)
r = 1;
else if((a == b && a != c) || (b == c && a != b )|| (a ==c && b != a))
r = 2;
else
r = 0;
}
else
r = -1;
}
else
r = -1;
}
else
r =-1;

}
if(r == -1)
printf("Tt's not an integer.");
else if(r == 0)
printf("It's an scalenous triangle.");
else if(r == 1)
printf("It's an right-angeld triangle.");
else if(r == 2)
printf("It's an isosceles triangle.");
else if(r == 3)
printf("It's an equilateral triangle.");
return 0;
}

I. 如何用C语言编程序:输入三个数,判断是否构成三角形

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

J. 用C语言编写一个判断三角形的函数,求大佬帮忙修改!

#include<stdio.h>
#include<math.h>
main()
{floata,b,c;
floats,area;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); //有改动
printf("theareais:%f ",area);
if(a==b&&a==c)
printf("equilateraltriangle ");
elseif(a==b||b==c||a==c)
printf("isocelestriangle ");
elseif(fabs(a*a+b*b-c*c)<1e-8||fabs(a*a+c*c-b*b)<1e-8||fabs(b*b+c*c-a*a)<1e-8) //有改动
printf("rightangledtriangle ");
else
printf("triangle");
}
else
printf("cannotcomposetriangle");
}