void test(int sum)
{int a;
read(a);
if(a=0) sum=1;
else{
test(sum);
sum=sum*a;
}
write(sum);
}
void test(int sum)
{int a;
read(a);
if(a=0) sum=1;
else{
test(sum);
sum=sum*a;
}
write(sum);
}
void test(int sum)
{int a;
read(a);
if(a=0) sum=1;
else{
for(int i=1;i<=a;i++)
sum=sum*i;
}
write(sum);
}
请说说你的read()方法是什么?将局部变量a如何操作?请注意你的变量a在方法体内声明的,如果你的read()方法不将a趋向0,那么不会有结果,如果趋向0了,则结果是a第一次取得的值的阶乘sum=a*(a-1)*...*2*1。用for循环吧。