| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1106 人关注过本帖
标题:这代码有一行错误了,我不知道怎么改过来
只看楼主 加入收藏
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
这代码有一行错误了,我不知道怎么改过来
#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
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:3 
count=s%10+count; s是实数,实数不能求余数
2013-05-07 13:34
liu_鹏
Rank: 2
等 级:论坛游民
帖 子:33
专家分:75
注 册:2013-4-16
收藏
得分:3 
看了半天没看懂你这个程序要干嘛。

不懂就发帖。懂了就恢复。
2013-05-07 13:34
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分: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(n);”,for循环在这里有什么用?
    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;

}
希望楼主以后发帖时把题目发过来,以免浪费大家的时间!

2013-05-07 13:41
支风儿
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
努力的学习
Rank: 2
等 级:论坛游民
帖 子:26
专家分:48
注 册:2013-3-28
收藏
得分:3 
是的  如果定义为整形的话   估计循环到20左右就会溢出了。。
2013-05-07 17:24
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:3 
整型阶乘最高好像就十几位.

用数组解决大数阶乘..

论坛上好多这样的代码
2013-05-07 17:39
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:3 
以下是引用helloUJS在2013-5-7 13:34:16的发言:

count=s%10+count; s是实数,实数不能求余数

又学到了老师没有讲的知识了
2013-05-07 17:39
快速回复:这代码有一行错误了,我不知道怎么改过来
数据加载中...
 
   



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

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