当前位置:首页 » 编程语言 » c语言1到100的乘积
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言1到100的乘积

发布时间: 2022-02-12 08:22:57

A. c语言1乘到100怎么编写

double型浮点数可以胜任。设置1个int型变量i作为for循环控制变量,遍历1~100;设置1个初值为1.0的double型变量sum与i相乘保存部分积,当i遍历完成后sum便是所求结果。由于结果数字太大,得用科学计数法显示(显示的是近似值)。代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
inti;
doublesum;
for(sum=i=1;i<101;sum*=i++);
printf("1x2x3x...x100=%e ",sum);
return0;
}

B. 怎样用C语言编程实现从1乘到100的结果

100的阶乘已经是大数相乘了,在c语言中没有现成的数据型可以用,所以用数组模拟计算,以下是对楼上程序的解释 #include <stdio.h>
#define MAXN 1000

int a[MAXN],b[MAXN];
void pwrite(int *a,int k,int c)//将计算的结果数组[a]按每一位输出,k为所计算数字,i为计算所得位数,计算后所得结果是按从最后一位到第一位,故应该倒序输出
{
int i;
printf("%4d != ",k);
for(i= c-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n\n");
}
void pnext(int k,int *cp);

int main(void)
{
int n,c,k;
printf("Enter the number n(n<=100):");
scanf("%d",&n);
a[0]=1;
c=1; //初始化长度为1,随计算位数增加
/*pwrite(a,1,c);*/
for(k=2;k<=n;k++)
{
pnext(k,&c); //此处计算结果,计算1*2*3*...*n
//pwrite(a,k,c);
if (k==n)
{
pwrite(a,k,c);//计算到n时输出
}
}
system("pause");
return 0;
}
void pnext(int k,int *cp) //cp此处代表计算的位数,n代表将要乘的数字
{
int i, j;
int temp = *cp;
for ( i=0; i<temp; i++ )
{
b[i] = a[i]; //利用b[i]作为暂时记录的数组
}
for ( i=1; i<k; i++ )// add for k-1 times
{
for ( j=0; j<temp; j++ )
{
a[j] += b[j]; //每一位对齐相加,
if ( a[j] > 9 )
{
a[j+1] += a[j]/10;
a[j] = a[j]%10; //如果大于9则进位
if ( j == *cp-1 )// add *cp for only once
{
(*cp)++; //如果是最高位,则自加即可,不必进位
}
}
}
}
while ( a[*cp-1] > 9 )
{
a[*cp] += a[*cp-1]/10;
a[*cp-1] = a[*cp-1]%10;
(*cp)++; //对最高位进行处理,此时n值已变,故应自加
}
}

C. C语言1乘到100怎么些啊

用for 方便.
1乘到100,数的精度可能不足.

long double a=1.0;
long int i;

for (i=1;i<=100;i++) a = a * (long double) i;

D. C语言编程1乘到100怎么写

sum 应定义为unsigned long 型,且i也不能这么大(大致最大12吧),否则sum放不下的,最后输出时用%ld格式。

E. 如何用C语言实现1-100的加和乘

#include "stdio.h"
void main()
{
int i,sum=0;
long float multi=1.0;//所得的结果大于65536,所以要定义成浮点型,不懂请参考课本的数据类型
for(i=1;i<=100;i++)
{
sum+=i;//求和
multi*=i;//求积
}
printf("1-100之和为:%d\n1-100之积为:%lf",sum,multi);//注意输出格式
}

F. C语言,计算1到100之间所有偶数的乘积并输出.

由于结果是很大很大的整数,所以必须用大数处理办法解决。先计算出结果大约是多少位十进制数,再据此动态申请数组空间。又由于9999999*100仍未超出int范围,所以用求出的位数除以7向上取整作为申请int数组的长度,将每个数组元素视作10000000进制单元操作,单元内部按十进制计数;操作完成后由高位到低位依次将各元素数据输出到屏幕连成一个大数。举例代码如下:

#include"stdio.h"
#include"stdlib.h"
#include"math.h"
intmain(intargc,char*argv[]){
doublex;
inti,k,n,*p;
for(x=0,i=2;i<101;x+=log10(i),i+=2);//计算最后结果的十进制位数
n=int(x/7)+!!(x-int(x));//n对x/7向上取整
if((p=(int*)malloc(sizeof(int)*(n=(int(x)+1)/7+1)))==NULL){//申请数组空间
printf("Applicationmemoryfailure... ");
return0;
}
for(k=0;k<n;p[k++]=0);//空间清0
for(p[--n]=2,i=4;i<101;i+=2){//完成2*4*6*...*100的计算
for(k=n;k>=0;p[k--]*=i);//每位乘以i存入本位
for(k=n;k>0;k--)//检查处理进位
if(p[k]>9999999)
p[k-1]+=p[k]/10000000,p[k]%=10000000;
}
printf(" 2*4*6*...*100=%d",p[0]);//输出最高7位数并删除前导0
for(i=1;i<=n;printf("%07d",p[i++]));//后续输出必须包括前导0
free(p);
printf(" ");
return0;
}

执行结果如下图:

G. C语言编程:1到100之间偶数的积

main()
{
long s,n;
s=1;
for(n=2;n<=100;n=n+2)
s=s*n;
printf("s=%ld\n",s);
}

H. 用for语句求1到100乘积

c语言:
#difine N 10
main()
{
int s=1,i;
for(i=1;i<=N;i++)
s*=i;
printf("1到%d的乘积是:%d。",N,s);
}
说明:
1、你可以通过改变第一行10的大小,计算1到不同的数的乘积;
2、程序之所以计算到1到10,是因为结果的数据太大了!
有什么问题请留言。

I. 1到100奇数的乘积c语言

#include<stdio.h>

intmain(intargc,char*argv[])
{
inti=0;
unsignedlonglonga=1;

for(i=1;i<=100;i++)
{
if(0!=i%2)
{
a*=i;
}
}

printf("乘积为:%llu ",a);

return0;
}

J. c语言计算1到100的乘积的编程

#include <stdio.h>
void main()
{long i,j,N;//N为阶乘数
result=1;
for(j=1;j<=N;j++)
{
result*=j;
}
printf("%ld",result);
getch();
}
我这个最简单