给定三角形的三条边长,让你区分出是那种三角形形状(直角、等边、等腰、普通、等腰直角)
等边请输出:dengbian 等腰(非等腰直角)输出:dengyao 直角(非等腰直角)输出:zhijao 等腰直角输出:dengyaozhijiao 普通输出:putong 不是三角形输出:error 输入n+1行,第一行是测试个数,其后每行三个整数a,b,c(long long范围内) 输出n行按照上述要求 输入样例 5 1 1 1 2 2 1 6 7 8 1 2 3 3 4 5 输出样例 dengbian dengyao putong error zhijao
请问这道题我用高精度算完之后怎样把数值转换成能比较大小的int类型
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#define maxn 100005
char* cf(char* num1, char* num2)
{
int la,lb,lc,i,j;
int a[maxn]={0};
int b[maxn]={0};
int c[maxn]={0};
la=strlen(num1);
lb=strlen(num2);
for(i=0;i<la;i++)
{
a[la-i-1]=num1[i]-'0';
}
for(i=0;i<lb;i++)
{
b[lb-i-1]=num2[i]-'0';
}
lc=la+lb;
for(i=0;i<la;i++)
{
for(j=0;j<lb;j++)
{
c[i+j]+=a[i]*b[j];
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
while(c[lc]==0&&lc>0)lc--;
char *re=(char *)malloc(sizeof(char)*(lc+2));
for(i=lc;i>=0;i--){
re[lc-i]=c[i]+'0';
}
re[lc+1]=0;
return re;
}
long long jf(char a1[maxn],char b1[maxn],char c1[maxn])
{
char ans[maxn],d[maxn];
int a[maxn],b[maxn],c[maxn],e[maxn],la,lb,lc,x=0,i,s=0;
la=strlen(a1);
lb=strlen(b1);
for(i=0;i<=la-1;i++) a[la-i]=a1[i]-48;
for(i=0;i<=lb-1;i++) b[lb-i]=b1[i]-48;
lc=1;
while(lc<=la||lc<=lb)
{
c[lc]=a[lc]+b[lc]+x;
x=c[lc]/10;
c[lc]%=10;
lc++;
}
c[lc]=x;
if(c[lc]==0) lc--;
for(i=lc;i>=1;i--)
{
e[lc-i]=c[i];
}
for(i=0;i<lc;i++)
{
d[i] = char(e[i] + '0');
}
if(strlen(d)<strlen(c1))
return 0;
if(strlen(d)>strlen (c1))
return 1;
else
{
for(int i=strlen(d);i>=0;i--)
{
if(d[i]<c1[i]) return 0;
else if(i=0&&d[i]==c[i]) return 2;
}
}
return 1;
}
int main()
{
int n;
long long a,b,c,t=0;
char a1[maxn],b1[maxn],c1[maxn];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%lld%lld%lld",&a,&b,&c);
//s1=strlen(num1);
//s2=strlen(num2);
if(b<a)
{
t=b;
b=a;
a=t;
}
if(c<a)
{
t=c;
c=a;
a=t;
}
if(c<b)
{
t=c;
c=b;
b=t;
}
sprintf(a1,"%lld",a);
sprintf(b1,"%lld",b);
sprintf(c1,"%lld",c);
char* a2=cf(a1,a1);
char* b2=cf(b1,b1);
char* c2=cf(c1,c1);
//long long a3=atol(a2);
//long long b3=atol(b2);
long long c3=atol(c2);
//printf("%lld %lld %lld",a,b,c);
if(jf(a2,b2,c2)==0) printf("error");
else if(a==b&&b==c&&c==a) printf("dengbian");
else if((a==b||b==c)&&jf(a2,b2,c2)!=2) printf("dengyao");
else if((a==b||b==c)&&jf(a2,b2,c2)==2) printf("dengyaozhijiao");
else if(jf(a2,b2,c2)==2) printf("zhijao");
else printf("putong");
}
}