使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值

admin2019-03-01  5

问题 使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。
    请改正程序中的错误,使它能得出正确的结果。
    注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
    #include<stdio.h>
    int fun(int*b)
    {  int k,a1,a2,i=0;
    for(k=10;k<=55;k++)
    {
    /**********found**********/
    a2=k/10;
    al=k-a2*10:
    if((k%3==0&&a2==5)||(k%3==0&& a1==5))
    {  b=k;i++;}
    }
    /**********found**********/
    return k:
    }
    main()
    {  int a[100],k,m;
    m=fun(a);
    printf(’’The resu]t is:\n’’);
    for(k=0;k<m;k++)
    printf(’’%4d’’,a[k]);
    printf(’’\n’’);
    }

选项

答案(1)a2=k/10; (2)return i;

解析 (1)a2存放十位数,所以是a2=k/10,此处是一个书写错误,程序中将数字0写成字母0。
(2)根据题意,要返回能被3整除的数的个数,从循环体中可以知道其个数是由i来计算的,所以返回的是i。
转载请注明原文地址:https://www.kaotiyun.com/show/neID777K
0

相关试题推荐
最新回复(0)