没必要加个return,
改成void型就可以了.
不过程序用了全局变量不好,可以把amass变成指针,这样好些.
俺的观点是全局变量最好少用

对不礼貌的女生收钱......
#include <stdio.h>
long temp;
long calculate(long m){ /*计算最后一个非零的数*/
temp=m%10;
if(temp!=0) return temp;
else{
m=m/10;
calculate(temp);
}
}
main(){
long i,j,m;
j=1;m=1;
printf("please input a number:");
scanf("%ld",&i);
for(m=1;m<=i;m++){
j=j*m;
}
printf("\nthe last no zero number is:%d",calculate(j));
}
#include<stdio.h>
main()
{
long int n,i,j=1;
scanf("%ld",&n);
for(i=n;i>1;i--)
j*=i;
while(j%10==0)
{
j/=10;
}
printf("%d",j%10);
return 0;
}
我没有看明白?
利用非常初级的知识就可以解决的
#include <stdio.h>
void main()
{
int m,i=1,j;
scanf("%d",&m);
for(;m>0;m--)
i=i*m;
for(;;i=i/10)
{
j=i%10;
if(j!=0)
printf("%d",j);
}
}
没有运行实验,临时写的
[此贴子已经被作者于2006-4-11 15:13:55编辑过]