标题:输出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: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:0 
fact函数中a先赋的值为0;自然之后与a相乘的式子都为零。
2019-09-27 04:26
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册: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



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




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

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