规培考试报名时间:c语言问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 04:28:35
编写下面两个函数:
int isTriangle(int a,,int b, int c)
该函数接收三个整型数据a,b,c为参数,判断一下以这三个数值为长度的三条线段能否组成一个三角形,如果可以组成一个三角形,就返回1,否则返回值为0.
float area(int a,int b,int c)
该函数接收三角形三边的长度为参数,计算该三角形的面积.
利用这两个函数编写一个程序,从键盘接收三整型数据作为三角形的三边,如果可以构成三角形,就计算三角形的面积,否则就给出出错信息,要求用户重新输入新的三个数据[.编写上面的两个子函数时要求使用两种不同的方法]

很简单啊呵呵,看下面的实现:
#include <math.h>
int isTriangle(int a,,int b, int c)
{
if((a+b<c)||(b+c<a)||(c+a)<b)
return 0;
else
return 1;
}

float area(int a,int b,int c)
{
float s = ( a + b + c ) / 2.0;
return sqrt(s*(s-a)*(s-b)*(s-c));
}

然后是程序:
int main(char* a ,char** b)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
while(!isTriangle(x,y,z))
{
printf("input error! please reload.\n")
scanf("%d%d%d",&x,&y,&z);
}
printf("area:%f", area(x,y,z));
return 0;
}

--------------
enjoy it ~~

使用三角形公式就可以了.
这个可是太简单吧.
两边之和大于第三边.