统计一个无符号整数中各位数字值为零的个数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

试题程序:

#include

int fun(unsigned n,int *zero)

{

int count=0 , max=0 , t;

do

{

t=n%10;

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

if (t=0)

count++;

if (max

max=t;

n=n/10;

} while (n);

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

zero=count;

return max;

}

main ( )

{

unsigned n;

int zero , max;

printf ("\nInput n(unsigned):");

scanf("%d",&n);

max=fun(n,&zero);

printf("\nThe result:max=%d zero=%d\n",max,zero);

}

(1)错误:if ( t=0) 正确:if(t==0)

(2)错误:zero=count 正确:*zero=count;

相关文档
最新文档