填空题
下列给定程序中,函数fun的功能是:计算n的5次方的值(规定n的值大于2且小于8),通过形参指针传回主函数,并计算该值的个位、十位、百位上数字之和作为函数值返回。例如,7的5次方是16807,其后3位数的和值是15。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<math.h>
int fun(int n,int,*value)
{
int d,s,i;
/**********found**********/
d=0;
/**********found**********/
s=1;
for(i=1;i<=5;i++)
d=d*n;
*value=d;
for(i=1;i<=3;i++)
{
s=s+d%10;
/**********found**********/
s=s/10;
}
return s;
}
main()
{
int n,sum,v;
do
{
printf("/nEnter n(2<n<8):");
scanf("%d",&n);
}while(n<=2||n>=8);
sum=fun(n,&v);
printf("/n/nThe result:/n value=%d sum=%d/n/n",v,sum);
}