niusouti.com

以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 #define MAX 2147483647 int findmin(int x[],int n) {int i,min; min=MAX; for(i=0;i<n;i++) {if(min<x[i])min=x[i];} } 造成错误的原因是( )。A.定义语句int i,min;中min未赋初值B.赋值语句min=MAN;中,不应给min赋MAX值C.语句if(min<X[i])min=X[i];中判断条

题目

以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 #define MAX 2147483647 int findmin(int x[],int n) {int i,min; min=MAX; for(i=0;i<n;i++) {if(min<x[i])min=x[i];} } 造成错误的原因是( )。

A.定义语句int i,min;中min未赋初值

B.赋值语句min=MAN;中,不应给min赋MAX值

C.语句if(min<X[i])min=X[i];中判断条件设置错误

D.赋值语句min=MAX;放错了位置


相似考题
更多“以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。#de ”相关问题
  • 第1题:

    以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

    #d越lie MIN-2147483647

    int findmax(int X[],int n)

    { int i,max;

    for(i=0;i<n;i++)

    {max=MIN;

    if(max<x[i])max=x[i];}

    return max;

    }

    造成错误的原因是

    A.定义语句int i,max;中max未赋初值

    B.赋值语句max=MIN;中,不应给max赋MIN值

    C.语句if(max<x[i])max=X[i];中判断条件设置错误

    D.赋值语句max=MIN;放错了位置


    正确答案:D
    解析:对max赋初值,应该要放在循环语句之前,不然每次循环都将是从MIN开始比较。

  • 第2题:

    下列给定程序中,函数fun的功能是:从整数l0-55,查找能被3整除且有一位上的数值是5的数,把这些:故放在b所指的数组中,这些数的个数作为函数值返回。规定函数中al放位数,a2放十位数。

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

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

    试题程序:


    正确答案:

  • 第3题:

    请编写函数proc(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

    则函数值为59。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

    试题程序:


    正确答案:


    【解析】要求二维数组周边元素之和,首先应该判断数组中的每一个元素是否是周边元素。找出所有的周边元素后求和,返回给主函数。周边元素的下标特点为行或列的下标为。或N—1。根据此特点,找出所有的周边元素然后求和。

  • 第4题:

    以下函数findmin拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能。

    造成错误的原因是( )。

    A)定义语句int i,min;中vain未赋初值

    B)赋值语句min=MAN;中,不应给min赋MAX值

    C)语句if(min

    D)赋值语句min=MAX;放错了位置


    正确答案:D
    在C语言中,一个整型变量占用4个字节的内存单元,并按整型数的存储方式存放数据,允许存放的数值范围是:一2147483648-2147483647。所以在这个题目中定义的宏变量MAX的值就是整数范围内最大的数值,因而对于任意一个整数来说,其值都比MAX小,而判断最小值,是当找到的数比rain小时,才交换。

  • 第5题:

    以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致

    不能实现预定功能。

    #define MIN-2147483647

    int findmax(int x[],int n)

    {int i,max;

    for(i=0;i<n;i++)

    {max=MIN;

    if(max<x[i])max=x[i];)

    return max;

    }

    造成错误的原因是( )。

    A.定义语句“int i,max;”中max未赋初值

    B.赋值语句“max=MIN;”中,不应给max赋MIN值

    C.语句“if(max<x[i])max=x[i];”中判断条件设置错误

    D.赋值语句“max—MIN;”放错了位置


    正确答案:D
    “max=MIN;”语句应放在for循环之前,否则每次循环时都重新赋值,值没有变化。