c语言问题
编写下面两个函数:intisTriangle(inta,,intb,intc)该函数接收三个整型数据a,b,c为参数,判断一下以这三个数值为长度的三条线段能否组成一个三角...
编写下面两个函数:
int isTriangle(int a,,int b, int c)
该函数接收三个整型数据a,b,c为参数,判断一下以这三个数值为长度的三条线段能否组成一个三角形,如果可以组成一个三角形,就返回1,否则返回值为0.
float area(int a,int b,int c)
该函数接收三角形三边的长度为参数,计算该三角形的面积.
利用这两个函数编写一个程序,从键盘接收三整型数据作为三角形的三边,如果可以构成三角形,就计算三角形的面积,否则就给出出错信息,要求用户重新输入新的三个数据[.编写上面的两个子函数时要求使用两种不同的方法] 展开
int isTriangle(int a,,int b, int c)
该函数接收三个整型数据a,b,c为参数,判断一下以这三个数值为长度的三条线段能否组成一个三角形,如果可以组成一个三角形,就返回1,否则返回值为0.
float area(int a,int b,int c)
该函数接收三角形三边的长度为参数,计算该三角形的面积.
利用这两个函数编写一个程序,从键盘接收三整型数据作为三角形的三边,如果可以构成三角形,就计算三角形的面积,否则就给出出错信息,要求用户重新输入新的三个数据[.编写上面的两个子函数时要求使用两种不同的方法] 展开
3个回答
展开全部
这是一个for语句,根据for语句的形式:for(语句1;语句2;语句3){函数体;}
的执行顺序是:语句1,判断语句2是否成立(非0为真,0为假)函数体,最后是语句3,(£)再进行判断语句2,是否成立,在执行函数体,语句3
,在执行(£)知道条件不满足语句2,跳出循环;如果,语句2是非逻辑表达式,即非判断语句时,循环体内,必有满足条件的跳出语句
break,否则为死循环;
这里的
for(k=1;k+1;k++)
可以这样解释:执行循环for()语句时,初始条件
K=1;之后执行
K+1
(k=2,非0,条件为真继续执行)之后执行函数体for下面花括号{}的内容,之后在执行
K++(K自增1)
所以,明白for()语句的执行顺序就可以明白了,明白了吗?
的执行顺序是:语句1,判断语句2是否成立(非0为真,0为假)函数体,最后是语句3,(£)再进行判断语句2,是否成立,在执行函数体,语句3
,在执行(£)知道条件不满足语句2,跳出循环;如果,语句2是非逻辑表达式,即非判断语句时,循环体内,必有满足条件的跳出语句
break,否则为死循环;
这里的
for(k=1;k+1;k++)
可以这样解释:执行循环for()语句时,初始条件
K=1;之后执行
K+1
(k=2,非0,条件为真继续执行)之后执行函数体for下面花括号{}的内容,之后在执行
K++(K自增1)
所以,明白for()语句的执行顺序就可以明白了,明白了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单啊呵呵,看下面的实现:
#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 ~~
#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 ~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2005-12-06
展开全部
使用三角形公式就可以了.
这个可是太简单吧.
两边之和大于第三边.
这个可是太简单吧.
两边之和大于第三边.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询