问答题 下列给定程序中,函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形。若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#include<math.h>int fun(int a,int b,int c){ if(a+b>c&&b+c>a&&a+c>b) { if(a==b&&b==c)/******found******/ return 1; else if(a==b‖b==c ‖a==c) return 2;/******found******/ else return 3; } else retum 0;}void main(){ int a,b,c,shape; prinff(“\nInput a,b,c:”); seanf(“%d%d%d”,&a,&b,&c); prinff(“\ha=%d,b=%d,c=%d\n”,a,b,c); shape=fun(a,b,c); printf(“\nThe shape:%d\n”,shape);}
【正确答案】正确答案:(1)return 3; (2)return 1;
【答案解析】解析:(1)变量a、b、c分别表示三条边,当三边相等(a==b&&b==c)时,返回3。 (2)在能构成三角形的前提下,如果不能构成等边三角形或等腰三角形,则返回1。