一个结构加指针问题
top啦它 2019-11-30 03:24:01 运行正确但是提交错误
这是代码,下面有题目,请热心的朋友帮帮忙,在下谢谢啦!!!
#include<stdio.h>
#include<math.h>
double as(double a[],double b[],double c[]);
double qsa(double a1[],double b1[],double c1[]);
struct student
{
double b1[1000];
double b2[1000];
double b3[1000];
}ss[1000];
int main(void)
{
double *g,*h,*j,b5;
int i,n;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%lf%lf%lf",&ss[i].b1[i],&ss[i].b2[i],&ss[i].b3[i]);
g = ss[i].b1;h = ss[i].b2;j = ss[i].b3;
as(g,h,j);
b5 = as(g,h,j);
if(b5 == 0)
{
printf("not\n");
}
else
{
double area = sqrt(b5 * (b5 - ss[i].b1[i]) * (b5 - ss[i].b2[i]) * (b5 - ss[i].b3[i]));
printf("%.2f %.2f\n",area,ss[i].b1[i] + ss[i].b2[i] + ss[i].b3[i]);
}
}
}
double as(double a[],double b[],double c[])
{
double *y1,*y2,*y3;
int j9;
y1 = a;y2 = b;y3 = c;
if((*y1 + *y2 > *y3)&&(*y1 + *y3 > *y2)&&(*y2 + *y3 > *y1))
{
qsa( y1, y2, y3);
j9 = qsa( y1, y2, y3);
return j9;
}
else
{
int k = 0;
return k;
}
}
double qsa(double a1[],double b1[],double c1[])
{
double s;
double *o1,*o2,*o3;
o1 = a1;
o2 = b1;
o3 = c1;
s = (*o1 + *o2 + *o3) / 2;
return s;
}
Description
输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“not”。(在一个三角形中,任意两边之和大于第三边。三角形的面积计算公式:area =”s(s-a)(s-b)(s-c)”的平方根,其中:s = (a+b+c)/2)。要求编写定义并调用3个函数isTriangle,triangleArea和trianglePerimeter分别用于判断3条边能否构成三角形,求三角形的面积和求三角形的周长。
Input
第一行有一个整数i表示有 i 组测试数据;
每组有3个正整数,分别代表三角形的三条边a, b, c
Output
对于每组测试,如果3条边能构成一个三角形,则输出该三角形的面积area和周长perimete,结果保留两位小数 如果3条边不能构成一个三角形,则输出“not”
Sample Input
2
3 4 5
1 2 1
Sample Output
6.00 12.00
not