
求从1*2*3*4……*100的C源代码,分别用三种循环结构来编
4个回答
2011-12-23
展开全部
用for循环
#include <stdio.h>
#include <math.h>
#define MAXLEN 100/*做的是100的阶乘,自己可修改*/
#define MAXSUM 100/*用来存放阶乘结果的数组最大长度*/
void main()
{
int i,j,k,n,sum,s;
int a[MAXSUM];
for(i=0;i<MAXSUM;i++)
{
a[i]=0;
}//数组赋初值
a[0]=1;
for(i=1;i<=MAXLEN;i++)
{
for(j=MAXSUM-1;j>=0;j--)
{
if(a[j]!=0)
{
n=j+1;
break;
}
}//确定阶乘结果保存到数组中,存到数组的第几个元素
for(k=0;k<n;k++)
{
a[k]=a[k]*i;
}//对存入数组中的数进行乘法运算
for(k=0;k<n;k++)
{
sum=a[k];
if(sum/100>0)
{
a[k]=sum%100;
a[k+1]=a[k+1]+sum/100;
}
}//乘法完成后进行进位
}
for(s=n;s>=0;s--)
{
if(a[s]>=10)
printf("%d",a[s]);
else printf("0%d",a[s]);
}//打印完成的阶乘结果(由于03在数组中只显示3故进行相关操作补足
printf("\n");
}
#include <stdio.h>
#include <math.h>
#define MAXLEN 100/*做的是100的阶乘,自己可修改*/
#define MAXSUM 100/*用来存放阶乘结果的数组最大长度*/
void main()
{
int i,j,k,n,sum,s;
int a[MAXSUM];
for(i=0;i<MAXSUM;i++)
{
a[i]=0;
}//数组赋初值
a[0]=1;
for(i=1;i<=MAXLEN;i++)
{
for(j=MAXSUM-1;j>=0;j--)
{
if(a[j]!=0)
{
n=j+1;
break;
}
}//确定阶乘结果保存到数组中,存到数组的第几个元素
for(k=0;k<n;k++)
{
a[k]=a[k]*i;
}//对存入数组中的数进行乘法运算
for(k=0;k<n;k++)
{
sum=a[k];
if(sum/100>0)
{
a[k]=sum%100;
a[k+1]=a[k+1]+sum/100;
}
}//乘法完成后进行进位
}
for(s=n;s>=0;s--)
{
if(a[s]>=10)
printf("%d",a[s]);
else printf("0%d",a[s]);
}//打印完成的阶乘结果(由于03在数组中只显示3故进行相关操作补足
printf("\n");
}

2025-08-08 广告
说到edl模块产品的生产厂家,深圳市迈力威环保科技有限公司可以了解一下。深圳市迈力威环保科技有限公司是一家专注于超纯水edl(电除盐)技术研发、制造、服务一体化的企业,成立于2012年,专业从事edl膜块技术研发与生产服务。目前公司共有资深...
点击进入详情页
本回答由经理提供
展开全部
int a=1;
double s=1;
1_____while(a<=100)
{
s=a*s;
a++;
}
2_____for(;a<=100;a++)
s=a*s;
3______if(a<=100)
s=a*s;
double s=1;
1_____while(a<=100)
{
s=a*s;
a++;
}
2_____for(;a<=100;a++)
s=a*s;
3______if(a<=100)
s=a*s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做个任务,走了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询