改错题  
    给定程序MODI1.c中函数fun的功能:根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形,则函数返回3;若能构成等腰三角形,则函数返回2;若能构成一般三角形,则函数返回1,若不能构成三角形,则函数返回0。
    请改正函数fun中指定位置的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    给定源程序如下:
#include <stdio.h>
#include <math.h>
/**************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  retrun  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; 答案考生文件夹
【答案解析】(1)根据题意函数返回值为int型,所以应改为int fun(int a,int b,int c)。 (2)在能构成三角形的前提下,如果不能构成等边三角形或等腰三角形,则返回1,语句应该以分号“;”结束,还要注意return拼写错误。