| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 298 人关注过本帖
标题:输出1到n的阶乘,用了函数,怎么都出不来正确的
只看楼主 加入收藏
鸡蛋挑骨头
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2019-9-25
  问题点数:0  回复次数:3   
输出1到n的阶乘,用了函数,怎么都出不来正确的
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*run this program using the console pauser or add your own getch, system("pause") or input loop */
double fact(int n);
int main(int argc, char *argv[]) {
    int i,n,result;
    printf("enter n=");
    scanf("%d",&n);
    for(i=1;i<=n;i++){
   
    result=fact(n);
    printf("%d\t",result);}
   
    getch();
    return 0;
}
double fact(int n)
{int fact=1,a,i;

for(i=1;i<=n;i++){
for(a=0;a<=i;a++)
fact=fact*a;
return fact;
}}
搜索更多相关主题的帖子: include int 输出 for 阶乘 
2019-09-26 13:58
鸡蛋挑骨头
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2019-9-25
  得分:0 
已解决
#include <stdio.h>
#include <stdlib.h>
//#include <math.h>
/*run this program using the console pauser or add your own getch, system("pause") or input loop */
double fact(int n);
int main(int argc, char *argv[]) {
    int i,n,result;
    printf("enter n=");
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        result=fact(i);
        printf("%d!=%d\n",i,result);}
    getch();
    return 0;
}
double fact(int n)
   {int fact=1,i;
   for(i=1;i<=n;i++)
       fact=fact*i;
return fact;
}
2019-09-26 14:23
bcbbcclbbc
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:125
专家分:330
注 册:2019-8-15
  得分:0 
fact函数中a先赋的值为0;自然之后与a相乘的式子都为零。
2019-09-27 04:26
自学的数学
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:30
帖 子:786
专家分:3303
注 册:2017-11-15
  得分:0 
用递归方式可以完成任务:
程序代码:
#include <stdio.h>
int f(int t)
{
   if (t==1)
     return 1;
   else
   return t*f(t-1);
}

int main()
{
  int t;
  scanf("%d",&t);
  printf("%d\n",f(t));
  return 0;
}
2019-09-27 13:13
快速回复:输出1到n的阶乘,用了函数,怎么都出不来正确的
数据加载中...
 
   



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

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