问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言用do while 语句写1x 2x 3 x 4 ....x 100,就是100的阶乘,怎么

发布网友 发布时间:2023-05-04 18:28

我来回答

3个回答

热心网友 时间:2023-11-03 18:21

你好,100的阶乘结果大概有150位,用简单的do while语句是无法计算准确的结果的(结果最后100多位全是0,而正确的结果0也就20个左右)。

程序1:

#include   <stdio.h> 

#define    M   1000

 main()

 {  

  int a[M], i, n, j, flag = 1; 

  printf("n=");  

  scanf("%d",&n);  

  printf("n!=");   

  a[0] = 1;  

  for(i = 1; i < M; i++)

   a[i] = 0;  

  for(j = 2; j <= n; j++)  

  {    

   for(i = 0; i < flag; i++)

    a[i] *= j;    

   for(i = 0; i < flag; i++) 

    if(a[i] >= 10)     

    {      

     a[i+1] += a[i]/10;    

     a[i] = a[i] % 10;       

     if(i == flag-1) 

      flag++; 

    }    

 }   

  for(j = flag - 1;j >= 0; j--)

   printf("%d", a[j]);

 }

 程序2:

#include <stdio.h>

#include <string.h>

void f(int n)

{

 void cheng(char s[],int n);

 void jia(char s1[], char s2[]);

 int jinwei=0, , shi, ge, num;

 char b[1000], c[1000];

 static char a[1000]={"1"};

 strcpy(b,a);

 strcpy(c,a);

 num=strlen(a);

  = n/100;

 shi = n%100/10;

 ge = n%10;

 cheng(a, ge);

 if(shi)

 {

  cheng(b, shi);

  num=strlen(b);

  b[num]=48;

  b[num+1]=0;

  jia(a, b);

 }

 if()

 {

  cheng(c, );

  num=strlen(c);

  c[num]=48;

  c[num+1]=48;

  c[num+2]=0;

  jia(a, c);

 }

 printf("%d%d%d!=",,shi,ge);

 puts(a);

}

void jia(char s1[], char s2[])

{

 int i, m, n, k, jinwei=0;

 m=strlen(s1);

 n=strlen(s2);

 if(m>=n)

 {

  for(i=n; i>=0; i--)

   s2[i+m-n]=s2[i];

  for(i=0; i<m-n; i++)

   s2[i]=48;

 }

 else

 {

  for(i=m; i>=0; i--)

   s1[i+n-m]=s1[i];

  for(i=0; i<n-m; i++)

   s1[i]=48;

 }

 for(i=m-1; i>=0; i--)

 {

  k=s1[i]+s2[i]+jinwei-96;

  s1[i]=k%10+48;

  jinwei=k/10;

 }

 if(jinwei)

 {

  for(i=m; i>=1; i--)

   s1[i]=s1[i-1];

  s1[0]=49;

  s1[m+1]=0;

 }

}

void cheng(char s[], int x)

{

 int i, m, n, jinwei=0;

 n=strlen(s);

 for(i=n-1; i>=0; i--)

 {

  m=(s[i]-48)*x+jinwei;

  s[i]=m%10+48;

  jinwei=m/10;

 }

 if(jinwei)

 {

  {

   for(i=n; i>=1; i--)

    s[i]=s[i-1];

   s[0]=jinwei+48;

  }

  s[n+1]=0;

 }

}

void main()

{

 int i, n;

 printf("请输入1--150之内的整数!");

 scanf("%d",&n);

 if(n>0&&n<=150)

  for(i=1; i<=n; i++)

   f(i);

}

热心网友 时间:2023-11-03 18:21

#include <stdio.h>
#include <math.h>
void main()
{
double sum=1, i=1;
do
{
sum = sum * i;
i++;
}while(i<=100);
printf("%lf\n",sum);
}

热心网友 时间:2023-11-03 18:22

int i=1;


double result=1;

do

{

result=result*i;

i++;

}while(i!=101);


//result 的结果就是阶乘的结果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中导条约是什么意思 南京的事业单位待遇好吗 condition ...个登陆和注册信息的源代码,最简单的就可以,不需要数据库的那种... 个旧附近的vba编程培训机构哪家比较正规? 个旧附近的.Net培训班? 个旧附近的编程培训班? 个旧附近哪里有编程培训在哪里? 湖口哪里可以学电脑电脑技术哪里可以学习 个旧北大青鸟少儿编程培训学费多少? CF里 wc wg ag 那些是什么意思 cfwc是什么 穿越火线中有人说人在WC,穿越火线中的WC是什么意思 穿越火线中的wc是指 cf游戏中wc是什么意思?我是新手… 穿越火线中有人说w c 是什么意思啊? cf游戏中说的WC是什么意思? CF中WC是什么意思 film什么意思中文意思 take fish是什么意思 上海比较成功的格子铺 &quot;A nice kettle of fish&quot;这句谚语的意思是什么 我想开个格子铺,是自己开好,还是加盟格子铺联盟好? 格子铺是什么??? 美国移民入境,有哪些物品不能携带? “aschooloffish”的汉译是? athinkoffish和afish的区别 offish2000有何用,删掉行吗? Offish跟fish有关系吗?Offish是什么意思? 衣服上有tso字母是什么意思啊? 汽车长按开锁健显示左拐弯箭头是什么原因? 交通交通法规中:&quot;车辆左小转弯&quot;是什么意思 女老师说男学生贤惠是什么意思 黛系列是什么品牌 倪妮流金岁月小白鞋是哪个品牌的 有一个女鞋的牌子叫黛妮什么 黛富丽女鞋是什么档次 黛步老人鞋质量怎么样 DNF暗强是什么? 自2018年10月份开始我国的个人所得税起征点由原来的500元上调至5000 元上 DNF暗属性强化有什么用 研究报告的关键词一般不超过几个 (20分)DNF关于暗属性强化 dnf暗强是什么 论文的摘要和关键词有要求吗? 淘宝助理里出现红色商品是什么意思 江苏学历提升报名入口在哪? 网页打开有些商品名字是红色的为什么啊,比如说淘宝商城,58同城什么的?其他颜色是黑色的他们的为什么 什么叫红线商品? 王者荣耀方向键施法后失灵