A-A+

下列给定程序中 函数proc的功能是:根据输入的3个边长(整型值) 判断能否构成三角形:若能

2022-08-05 23:13:26 问答库 阅读 173 次

问题详情

下列给定程序中,函数proc的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回 1;若不能,则返回0。 例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdio.h> include<math.h> int proc(int a,int b,int c) { if(a+b>c&&b+c>aa+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 return 0; } void main { int a,b,C,shape; printf("nlnput a,b,C:"); scanf("%d%d%d",&a,&b,&c); printf("na=%d,b=%d,c=%dn",a,b,c); shape=proc(a,b,c); printf("nnThe shape:%dn",shape); } 请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:
(1)错误:return l;
正确:return 3;
(2)错误:return 3;
正确:return l;
【解析】三条边都相等的三角形为等边三角形,按题目中要求,等边三角形返回3,若不是等边三角形也不是等腰三角形则返回l,因此,“return l;”应改为“return 3;”;“return 3;”应改为“return l;”。

考点:边长,函数