itgle.com

给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

题目

给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。

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

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


相似考题
更多“给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!”相关问题
  • 第1题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。

    例如,若m=2000,则应输出:0.000160。

    请改正程序中的语法错误,使它能计算出正确的结果。

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


    正确答案:(1)double fun(int m)(2)for(i=100; i<=m; i+=100)
    (1)double fun(int m)(2)for(i=100; i<=m; i+=100) 解析:本题中函数的功能是计算公式的值。关于题干公式的求解过程,首先根据题干中给出的公式推出每一项之间的关系,求出每一项的表达式,然后求得数列的值。

  • 第2题:

    给定程序MODll.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。

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

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


    正确答案:(1)char*fun(char*schar*t)(2)ss++; (3)tt++;
    (1)char*fun(char*s,char*t)(2)ss++; (3)tt++; 解析:本题中函数的功能是比较两个字符串,将长的那个字符串的首地址作为函数值返回。解题思路是对调试过程中产生的错误提示进行跟踪,也就是题干中给出的错误标识符号下的语句。

  • 第3题:

    给定程序MODll.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但z转换为A,z转换为a),其他字符不变。

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

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


    正确答案:(1)while(*s)或while(*s!=ˋ\0ˊ)或while(*s!=0) (2)s++;
    (1)while(*s)或while(*s!=ˋ\0ˊ)或while(*s!=0) (2)s++; 解析:本题中函数的功能是将字符串中的字母改为该字母序列的后续字母。首先判断字母是否为字母,如果是字母则进行转换。

  • 第4题:

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

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

    注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)a2=k/10;(2)returni;【考点分析】本题考查:取数值n的各个位;return语句,将需要返回的函数值返回给函数main。【解题思路】(1)a2存放十位数,所以是a2=k/10,此处是一个书写错误。(2)根据题意,要返回能被3整除的数的个数,从循环体中可以知道其个数是由i来计算的,所以返回的是i。

  • 第5题:

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

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

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

    试题程序:


    正确答案:

  • 第6题:

    给定程序MODll.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。

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

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


    正确答案:(1)for(i=1; i<=y; i++) (2)t=t%1000;
    (1)for(i=1; i<=y; i++) (2)t=t%1000; 解析:本题中函数的功能是求整数x的y次方的低3位值。本题解题过程首先是求y次方,然后对结果进行截取。

  • 第7题:

    给定程序MODll.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。

    注意:字符串的长度最长允许为79。

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

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


    正确答案:(1)p=s; (2)while(*p++);
    (1)p=s; (2)while(*p++); 解析:在字符串的最前端加入n个“*”号,形成新串,并且覆盖原串。然后通过“printf("\nThe string atler insert:\"%s\"、n",s);”函数直接输出结果。

  • 第8题:

    给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

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

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


    正确答案:(1)t=(STU*)calloc(sizeof(sTu)m); (2)t[k]=b[j];
    (1)t=(STU*)calloc(sizeof(sTu),m); (2)t[k]=b[j]; 解析:本题中函数的功能是按学习成绩从高到低的顺序找出前m(m≤10)名学生。利用循环结构实现对定义的结构体中的成绩域进行排序。

  • 第9题:

    给定程序MODll.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。

    例如,7的5次方是16807,其低3位数的和值是15。

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

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


    正确答案:(1)d=1; s=0; (2)d=d/10;
    (1)d=1; s=0; (2)d=d/10; 解析:本题中函数的功能是计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。本题解题过程首先是求5次方,然后对结果进行截取以及求和。

  • 第10题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。

    例如,若m中的值为:5,则应输出:1.463611。

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

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


    正确答案:(1)for(i=2; i=m; i++)(2)y+=1.O/(i*i);
    (1)for(i=2; i=m; i++)(2)y+=1.O/(i*i); 解析:该题中函数功能是计算公式的值。其中,公式中涉及在循环中对各项的计算及累加求和。从已给定源程序的main主函数开始入手,“printf(〝\nThe result is%1f\n〞,fun(n));”语句中调用fun函数,计算公式的值。

  • 第11题:

    给定程序MODll.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。

    例如,若n=5,则应输出:8.391667。

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

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


    正确答案:(1)double fun(int n) (2)s=s+(double)a/b;
    (1)double fun(int n) (2)s=s+(double)a/b; 解析:本题中函数的功能是求出分数序列的前n项之和。首先根据题干中给出的公式推出每一项之间的关系,求出每一项的表达式,然后求得数列的和。每一项的分母是前一项的分子,分子是前一项分子和分母的和。

  • 第12题:

    下列给定程序是建立一个带头结点的单向链表,并用随 机函数为各结点赋值。函数fun的功能是将单向链表结点 (不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

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

    注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:
    【参考答案】(1)while(P)或while(P!=NULL)(2)P=P一>next;【解题思路】(1)判断当前指针P指向的结点是否存在,若存在则对该结点数据域进行判断操作,而不是判断P指针的指针域是否为空。(2)判断结束后指针指向下一个结点。

  • 第13题:

    给定程序MODll.C中fun函数的功能是:求出以下分数序列的前n项之和。

    和值通过函数值返回main函数。

    例如,若n=5,则应输出:8.391667。

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

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


    正确答案:(1)double fun(int n)(2)c=a;a+=b;b=c;
    (1)double fun(int n)(2)c=a;a+=b;b=c; 解析:本题中函数的功能是求出分数序列的前n项之和。首先根据题干中给出的公式推出每一项之间的关系,求出每一项的表达式,然后求得数列的和。每一项的分母是前一项的分子,分子是前一项分子和分母的和。

  • 第14题:

    下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

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

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

    试题程序:

    include<stdio.h>

    define N 100

    int fun(int *s,int n)

    {

    int i,j,k,a,b,c;

    j=0;

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

    {

    /*************found***********/

    k=n;

    a=k%10;

    k/=10;

    b=k%10;

    c=k/10;

    if(a==b+c)

    /************found**************/

    s[j]=i;

    }

    return j;

    }

    main()

    {

    int a[N],n,num=0,i;

    do

    {

    printf("\nEnter n(<=1000):”);

    scanf("%d",&n);

    }

    while(n>1000);

    num=fun(a,n);

    printf("\n\nThe result:\n”);

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

    printf("%5d",a[i]);

    printf("\n\n");

    }


    正确答案:(1) 错误:k=n; 正确:k=i; (2) 错误:s[j]=i; 正确:s[j++]=i;
    (1) 错误:k=n; 正确:k=i; (2) 错误:s[j]=i; 正确:s[j++]=i; 解析:错误1:k就是当前要被判断的数,是随着i值的变化而变化的。错误2:在循环中,j是数组的下标要递增。

  • 第15题:

    给定程序MODll.C中函数fun的功能是:计算n!。

    例如,给n输入5,则输出120.000000。

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

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


    正确答案:(1)if (n==0) (2)result *=n--;
    (1)if (n==0) (2)result *=n--; 解析:本题中函数的功能是计算阶乘,其中,阶乘的计算公式分为参数n是1和大于1两种情况,例如,1的阶乘1!=1;5的阶乘5!=5×4×3×2×1。

  • 第16题:

    给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000

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

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


    正确答案:
    (1)doublesum改为doublesunl=0.0;(2)for(i=0;i<2;i*)改为细(i=0;i<n;i++);(3)sum+=ad[i].scom[1]改为sum+=羽[i].score[0];【考点分析】主要考察桩时变量初始化,c语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察C语言约定数组的下标是从0开始的。【解题思路】(1)doubleⅫ改为double8am=0.0;累加求和需要初始化累加结果的临时变量。(2)for(i_0;i<2;i++)改为for(i_0;i<n;i++);共有11个学生的成绩,需要累加所有学生第一门课的成绩。(3)sum+.std[i].BCOl.e[1]改为8am+=8td[i].score[0];第1门课程的平均分,c语言的下标是从0开始的。

  • 第17题:

    给定程序MODll.C中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。

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

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


    正确答案:(1)if(t==0) (2)*zero=count;
    (1)if(t==0) (2)*zero=count; 解析:本题中函数的功能是统计一个无符号整数中各位数字值为0的个数。对无符号数进行截取,然后对每个数字进行判断并统计。

  • 第18题:

    给定程序MODll.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

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

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


    正确答案:(1)y=1; (2)d=a-i;
    (1)y=1; (2)d=a-i; 解析:本题中函数的功能是为一个偶数查找两个素数,这两个素数之和等于该偶数。其中,函数fun用形参a放偶数,指针b和c放两个素数。把一个偶数分解成1和(x-1)两个数是否是素数,再分解为3和(x-3)这两个数,判断是否是素数,依此类推,直到找出这两个素数为止。本题中把偶数分解为i和d两个素数。判断i是否是素数,如果i不是素数,则i+2再循环;如果i是素数,则d=x-i,然后判断d是否是素数。

  • 第19题:

    给定程序MODll.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

    例如,当s所指字符串为:“ABCD”时,则t所指字符串中的内容应为:“ABCDDCBA”。

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

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


    正确答案:(1)void fun(char*s char*t) (2)t[2*d]=‘\0’;
    (1)void fun(char*s, char*t) (2)t[2*d]=‘\0’; 解析:本题中函数的功能是将字符串的正序和反序进行连接。题目中首先由字符串的起始位置正序取字符,然后再由串尾逆序取字符,实现正序和逆序的连接。

  • 第20题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。

    例如,若m中的值为:5,则应输出:0.536389。

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

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


    正确答案:(1)for(i=2; i=m; i++)(2)y-=1.0/(i*i);
    (1)for(i=2; i=m; i++)(2)y-=1.0/(i*i); 解析:该程序功能是根据题目要求计算公式。从已给定源程序的main主函数开始入手,“printf("\nThe result is%lfin",fun(n));”语句中的fun(n)将参数n传给函数double fun(int m)中的m,实现公式的计算结果。

  • 第21题:

    给定程序MODll.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。

    例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.141480。

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

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


    正确答案:(1)t=1; (2)return(2*s);
    (1)t=1; (2)return(2*s); 解析:该题中函数功能是根据公式计算π值。从已给定源程序的main.主函数开始入手,通过键盘输入制定精度,然后通过“printf“\neps=%lf,Pi=%lf\n\n”,x,fun(x));”语句来调用fun函数。

  • 第22题:

    给定程序MODll.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。

    例如:若输入:THIs is aboot,则输出应该是:1、0、2、2、0。

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

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


    正确答案:(1)num[k]=0; (2)switch(*s)
    (1)num[k]=0; (2)switch(*s) 解析:本题中函数的功能是统计字符串中各元音字母(即A、E、I、O、U)的个数。其中,本题在while循环中采用switch-case条件判断字符串中的每一个字符并进行统计。

  • 第23题:

    给定程序modil.c的主函数中,将a.b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun( )的作用是:累加链表结点数据域中的数据作为函数值返回。

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

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


    正确答案:
    (1)intt;改为intt=0;(2)*P改为P或者P!=NULL(3)P.data改为P->data【考点分析】主要考察考生对于操作符.与->的异同的理解,指针只能有->,数组元素可以有.或者->。【解题思路】(1)intt;改为intt=0;题目中变量t是用来存放累加和的,必须初始化。(2)*P改为P或者P!=NULL,题目中*P是结构体,不能转化为bool型;(3)P.data改为P->data,P是指针,只能用P->,不能用P。