广东十大粤剧粤曲大全:计算机编程问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 23:45:29
编写一个函数triangle()根据给定的正整数a,b,c。如果a,b,c不能组成一个三角形,返回0;如果是直角,返回1;如果是锐角,返回2;如果是钝角,返回3。

利用勾古定理:
int triangle(int m,int n,int l)
{
int flag=0;
int a=0,b=0,c=0;
a=m;
b=n;
c=l;
if((a*a+b*b==c*c)||(a*a+c*c==b*b)|| (b*b+c*c==a*a))
flag=1;
else if((a*a+b*b<c*c)||(a*a+c*c<b*b)||(b*b+c*c<a*a))
flag=3;
else flag=2;
return flag;
}

我已调试过,成功!!
#include<stdio.h>
#include<string.h>
#include<conio.h>
void main()
{
int i,a,b,c;
clrscr();
printf("input a,b,c\n ");
scanf("%d%d%d",&a,&b,&c);
i=triangle(a,b,c);
switch(i){
case 0:printf("wrong!");break;
case 1:printf("zhi jiao");break;
case 2:printf("rui jiao");break;
case 3:printf("dun jiao");break;
default:printf("wrong!");
}
getch();
}
int triangle(int m,int n,int l)
{
if(m<=0||n<=0||l<=0)return 0;
if(m+n<=l||m+l<=n||l+n<=m)return 0;
if(m*m+n*n==l*l||m*m+l*l==n*n||n*n+l*l==m*m)return 1;
if((m*m+n*n>l*l) && (m*m+l*l>n*n) && (n*n+l*l>m*m))return 2;
return 3;
}