下列给定程序中,函数proc的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回 1;若不能,则返回0。 例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdio.h> include<math.h> int proc(int a,int b,in

题目

下列给定程序中,函数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=%d\n",a,b,c); shape=proc(a,b,c); printf("\n\nThe shape:%d\n",shape); }


相似考题
更多“下列给定程序中,函数proc的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边 ”相关问题
  • 第1题:

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

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    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 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)错误:return 1; 正确:return 3; (2)错误:return 3; 正确:return 1;
    (1)错误:return 1; 正确:return 3; (2)错误:return 3; 正确:return 1; 解析:该题只要理解了if语句中的条件,并能读懂题目定义就可轻松解决,函数返回值搭配错误,是一个简单的数学逻辑问题。

  • 第2题:

    下列给定程序中,函数proc()的功能是:根据整型形参n,计算如下公式的值。

    例如,若n=12,则应输出0.618026。

    请修改程序中的错误,使它能得出正确的结果。

    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

    试题程序:


    正确答案:

    (1)错误:intproc(intn)
    正确:floatproc(intn)
    (2)错误:for(i=2;i<n;i++)
    正确:for(i=2;i<=n;i++)
    【解析】由主函数中的调用以及函数proc()的返回值可知,函数proc()的返回值类型应为float型数据。因此,“intproc(intn)”应改为“floatproc(intn)”;由题目中所给公式可知,循环中应该包含n的值,因此,“for(i=2;i<n;i++)”应改为“for(i=2;i<=n;i++)”。

  • 第3题:

    下列给定程序中函数proc()的功能是:将长整型数中为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如,当s中的数为12345678时,则t中的数为8642。

    请修改函数proc()中的错误,使它能得出正确的结果。

    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

    试题程序:


    正确答案:

    (1)错误:if(d%2!=0)
    正确:if(d%2==0)
    (2)错误:t=d*s1+t;
    正确:*t=d*s1+*t;
    【解析】题目要求长整型数中每一位上为偶数的数依次逆向取出,构成一个新数放在t中。首先要判断每一位上的数是否为偶数,因此“if(d%2!=0)”应改为“if(d%2==0)”;变量t是一个指针变量,其是直接运算操作的内存地址,因此“t=d*sl+t;”应改为“*t=d*s1+*t;”。

  • 第4题:

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

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)int fun(int aint bint c) (2)else return 1;
    (1)int fun(int a,int b,int c) (2)else return 1; 解析:本题中函数的功能是判断能否构成三角形;构成的是等边三角形,还是等腰三角形,利用if语句判断三边值之间的关系,然后根据判断结果,返回题干中要求的值。
    构成三角形的条件是任意两边之和大于第三边,等腰三角形的条件是在构成三角形的基础上还需要两条边相等,等边三角形是三条边均相等。

  • 第5题:

    下列给定程序中,函数fun()的功能是:根据输人的三条边长(整形),判断能否构成三角形;构成的是等边三角形还是等腰三角形。若能构成等边三角形函数,返回3;若能构成等腰三角形函数,返回2;若构成=三角形函数,返回l;若不能构成三角形函数返回0。 请修改函数fun()中的错误,得出正确的结果。 注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。 试题程序:


    正确答案:
    (1)错误:return1;
    正确:return3;
    (2)错误:return3;
    正确:return1;
    【解析】本题利用if语句判断三条边的关系,根据判断的结果,返回题干中要求的值。
    (1)第一个标识下的语句“if(x==y&&y==z)”说明x,y,z三个值相等,即等边三角形,所以应该返回3,将“1”改成“3”。
    (2)第二个标识下的else语句应该是除了等边及等腰三角形之外的三角形,所以应该返回1,应将“3”改成“1”。