c语言怎样用for和while和do-while实现阶乘?

c语言怎样用for和while和do-while实现阶乘?我写的程序什么地方不对,为什么不能输出结果?

第1个回答  2015-05-13

    没问题啊,将 printf("%.0f\n", n); 改成 printf("%e\n", n);  就不会显示太多的数字了

#include<stdio.h>
#include<stdlib.h>

 
int main()
{
 double n = 1;

 int i;

 for (i = 2; i <= 100; i++)
 {
  n *= i;
 }
 printf("%e\n", n);

 system("pause"); //避免窗口一闪而退
 return 0;
}

 

#include<stdio.h>
#include<stdlib.h>

 
int main()
{
 double n = 1;

 int i = 1;

while(i <= 100)
 {
  n *= i;

  i++;
 }
 printf("%e\n", n);

 system("pause"); //避免窗口一闪而退
 return 0;
}

本回答被提问者和网友采纳
第2个回答  2015-05-13
进入死循环了.
for(i=1;i<=100;i++) // 是i不是1

计算数的阶乘,分别用while语句、do-while语句和for语句实现
for (int i = 1; i <= n; i++) { result *= i; } \/\/在这里输出结果result \/\/用while int n; int result = 1; \/\/在这里输入要计算阶乘的数n while (n>0) { result *= n--; } \/\/在这里输出结果result \/\/用do while int n; int result = 1; \/\/在这里输入要计算阶乘的数n do { ...

C语言用while,do……while,for循环3种方法表示10的阶乘
int main(void){ int x = 11;long res = 1;while(--x)res = res * x;printf("while result: %Ld\\n", res);res = 1; \/* Reset res to one *\/ do { x = x + 1;res = res * x;} while (10 != x);printf("do while result: %Ld\\n", res);res = 1;for (x = ...

阶乘计算机
在C语言中,阶乘的计算可以通过循环实现,如以下代码所示,它计算1! + 2! + 3! + ... + 10!的和,结果为4037913。(在C语言的main函数中,使用for循环计算阶乘并累加,最后输出结果。)Pascal程序同样支持阶乘计算,通过递归定义函数jc(),输入n,返回n的阶乘,例如在`program test`中,读入n并...

用C语言编写1到10的阶乘
for(i=1;i<=10;i++)a=a*i;printf("10的阶乘=%d",a);return 0;}

...到一百的阶乘和 用While或While do循环语句或for 语句
=len)printf("%04d",s[i]);else printf("%d",s[i]);}}Big& operator +=(Big &a){int n=max(a.len,len);for(int i=1;i<=n;++i)s[i]+=a.s[i],s[i+1]+=s[i]\/10000,s[i]%=10000;while(s[len+1])len++;return *this;}Big& operator *=(Big &a){for(int i=...

求助:C语言中用do while循环编写计算阶乘的程序~
为您推荐: while(a--) while的用法 while循环 Do while vb whilw(!x) Do while 输入n结束 For和while Do well loop while循环表达式 while用什么跳出循环 其他类似问题2015-05-13 c语言怎样用for和while和do-while实现阶乘? 1 2013-12-05 C语言用while,do……while,for循环3种方法表.....

怎么用while语句算5的阶乘?
给你计算“n”的阶乘的方法,为了节省代码,并未对输入的n的合法性做判断,我想你应该会吧?include <iostream.h> int step(int n){ int i=1;static int j=1;while(i<=n){ j=i*j;i++;} return j;} int main(){ int n;cin>>n;cout<<step(n)<<endl;return 0;} while和for,...

使用三种循环语句输出5的阶乘
int num=1,i=5;for(;i>0;i--)num=num*i;\/\/===以上num为5的阶乘=== \/\/===第二种=== int num=1,i=5;while(i){ num=num*i;i--;} \/\/===以上num为5的阶乘=== \/\/===第三种=== int num=1,i=5;do { num=num*i;i--;} while(i=1)\/\/===以上num为5的阶乘===...

编程题 求4~9阶乘之和 用do_while 或for循环
include<stdio.h> int main(){int t=1*2*3,s=0,i;for(i=4;i<10;i++){t*=i;s+=t;} printf("%d\\n",s);return 0;}

c语言的求n的阶乘的程序代码
\/\/存储每次阶乘运算的结果 int str[MAX];void calculateFactorial(int n);int main(){ int n;while (scanf("%d", &n) != EOF) { if(n == 0) { printf("1\\n");} else { calculateFactorial(n);} } return 0;} void calculateFactorial(int n){ int i, j, temp, c, len;mem...

相似回答