本文目錄一覽:
- 1、C語言1乘到100怎麼編寫
- 2、C語言編程1乘到100怎麼寫
- 3、c語言從1乘到100代碼問題?
- 4、c語音代碼1*100(累成)
- 5、C語言1乘到100怎麼些啊
- 6、編寫計算1到100的連乘的C語言程序
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; itemp; i++ )
{
b[i] = a[i]; //利用b[i]作為暫時記錄的數組
}
for ( i=1; ik; i++ )// add for k-1 times
{
for ( j=0; jtemp; 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語言編程1乘到100怎麼寫
sum 應定義為unsigned long 型,且i也不能這麼大(大致最大12吧),否則sum放不下的,最後輸出時用%ld格式。
c語言從1乘到100代碼問題?
您好,很高興回答您的問題。
您直接在定義i和s時就定義成double類型即可。或者i還是定義為int,s定義為double型。賦初始值還是要做的哦。然後在最後輸出是把%d改成%lf即可哦。
以上就是我的回答,希望能幫助到您。
c語音代碼1*100(累成)
這一死循環啊。。。while (2101) 會永遠執行下去的!
改成 while (i101) 通過變量i控制循環執行99次。
另外,1累乘到100,其結果int型完全存儲不下。。。。你確定題目要求這麼搞??
#include stdio.h
int main(void) {
int i=2;
int num=1;
while (i11) { /*累乘到100,int存儲不下,這裡先改為累乘至10*/
num*=i;
printf (“%d\n”,num);
i++;
}
getch (); /*屏幕暫留*/
return 0;
}
運行結果
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;
編寫計算1到100的連乘的C語言程序
/*computing the sum of 1 to 100and the factorial of 100*/
#include stdio.h
int main()
{
int count;
int sum=0;
double fac=1;
for (count=1;count=100;count++)
{
sum=sum+count;
fac=fac*count;
}
printf(“The sum of 1 to 100 is %d\n”,sum);
printf(“The factorial of 100 is %e”,fac);
return(0);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/159477.html