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();
}
我這個最簡單