您的位置:

c语言编程170讲,c语言编程200例

本文目录一览:

C语言指针问题170

t10

是按位与运算

就是把两个数用2进制表示出来,然后每一个2进制位进行逻辑比较,同是1才为1,否则为0

例如:

56

101110

101

110

----

100

结果是4

c语言编程:计算170的阶乘

前几天正好做过一个,用数组记录结果,暴力算法模拟手工计算过程,谈不上效率

#include stdio.h

#define N 10000

int main()

{

int a[N]={1};

char d[4]={0};

int i,j,t,e,f=1,m=0;

int l=0;

int k=0;

int n;

char ch='N';

printf("n=");

scanf("%d",n);

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

{

for(j=0;j=l;j++)

{

a[j]=a[j]*i+k;

k=a[j]/10000;

a[j]=a[j]%10000;

}

if(k)

{

l++;

a[j]=k;

k=0;

}

}

t=a[l];

while(t)

{

d[m]=t%10;

t/=10;

m++;

}

e=4*l+m-1;

if(e30)

{

printf("%d!=%d.",n,d[m-1]);

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

{

printf("%d",d[i]);

}

for(i=0;i8;i++)

{

printf("%04d",a[l-1-i]);

}

printf("E+%d\n",e);

printf("输出精确值?(Y/N)");

getchar();

ch=getchar();

if(ch!='y'ch!='Y')

f=0;

}

if(f)

{

i=l;

printf("%d!=%d",n,a[i--]);

for(;i=0;i--)

{

printf("%04d",a[i]);

}

}

printf("\n");

return 0;

}

n=170

170!=7.2574156153079989673967282111292631E+306

输出精确值?(Y/N)y

170!=7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000

请按任意键继续. . .

如何用c语言编程打印2-170之间的所有素数,要求每行输出13个素数。

#include stdio.h

#include math.h

int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/

{

int i;

for (i=2; i=(int)sqrt((double)n); i++)

if (n%i==0) return 0;

return 1;

}

int main(void)

{

int i,j=0;

for (i=2; i=170; i++)

if(ss(i))

{

j++;

printf("%5d",i);

if (j%13==0) printf("\n");

}

printf("\ntotal prime=%d\n",j);

return 0;

}