欢迎来到考试题库网 考试题库官网

问答题

下列给定程序中,函数proc()的功能是找出100~m(m 不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值
返回。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#define M 1000
int proc(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;
}
void main()
{
int a[M],m,num=0,i;
do
{
printf("\nEnter m(<=1000):");
scanf("%d",&m);
}
while(m>1000);
num=proc(a,m);
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;

    (↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)

    点击查看答案&解析

    相关考题