给定程序MODll.C中函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形:构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

admin2015-06-08  31

问题 给定程序MODll.C中函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形:构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
    请改正函数fun中指定部位的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/**********found***********/
VOid fun(int a,int b,int c)
{  if(a+b>c&&b+c>a&&a+c>b)  {
    if(a==b&&b==c)
    return 3;
    else  if(a==b || b==c || a==c)
    return 2;
/**********found***********/
    else  return  1
    }
    else return 0;
}
main()
{  int a,b,c,shape;
    printf(“\nInput a,b,c:”);scanf
  (“%d%d%d”,&a,  &b,&c);
    printf(“\na=%d,  b=%d,  c=%d\n”,a,b,c);
    shape=fun(a,b,c);
    printf(“\n\nThe shape:%d\n”,shape);
}

选项

答案(1)int fun(int a,int b,int c) (2)else return 1;

解析 本题中函数的功能是判断能否构成三角形;构成的是等边三角形,还是等腰三角形,利用if语句判断三边值之间的关系,然后根据判断结果,返回题干中要求的值。
    构成三角形的条件是任意两边之和大于第三边,等腰三角形的条件是在构成三角形的基础上还需要两条边相等,等边三角形是三条边均相等。
   [解题思路]
    (1)主函数内fun函数的调用形式是:“shape=fun(a,b,c);”,函数有返回值,且返回值类型是整型,故第一标识下应改为“int:fun(int a,int b,int c)”。
    (2)第二个标识下的else语句应该是指除了等边及等腰三角形之外的三角形,在C语言中,语句是以分号“;”结束,而第二标识下的语句没有以分号结束,故第二标识下应改为“else return  1;”。
转载请注明原文地址:https://kaotiyun.com/show/CaJp777K
0

最新回复(0)