标题:这代码有一行错误了,我不知道怎么改过来
取消只看楼主
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
结帖率:100%
已结贴  问题点数:20 回复次数:3 
这代码有一行错误了,我不知道怎么改过来
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
double  fact(int n);
int main()
{
    int i,n;
    double s;
    scanf("%d",&n);
  while(n!=0)
 { for(i=0;i<=n;i++)
    s=fact(i);
    printf("%lf\n",s);
    scanf("%d",&n);
 }
 return 0;
}

double fact(int n)
{
    int i;

    double s,count;
    s=1;
    for(i=1;i<=n;i++)
    {s=s*i;}
    do
    {  count=s%10+count;  //编译老是说这里错了,我不懂
        s=s/10;
      }
      while(s!=0);
      return count;

}


搜索更多相关主题的帖子: include double 
2013-05-07 13:12
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
得分:0 
回复 4楼 Explorerlxz
假如不将它定义成double,n的范围是1《n《50,那求阶乘的时候,是会溢出的
2013-05-07 15:34
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
得分:0 
回复 3楼 liu_鹏
好吧,我错了。。一个数阶乘之后得出来的数所有位上的数字相加的和,输入为多case输入。每个case只有一行,输入一个正整数n(1<=n <= 50),当输入0时结束

2013-05-07 15:36
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
得分:0 
回复 2楼 helloUJS
不能这样求余,我就不知道用什么方法求各位数字相加的和了
2013-05-07 15:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406399-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024406 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved