C_上机实验答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

L a b3R e p e t i t i o n S t r u c t u r e

⒈从500开始,求被3、5、7除余数均为2的前

50个数。

void main()

{

int i,j;

j=500,i=1;

for(;j>=500&&i<=50;j++)

{

if(j%3==2&&j%5==2&&j%7==2)

{

printf("%d",j);

i++;

printf(" ");

}

}

}

⒉打印形状为正方形和直角三角形的乘法九九表。void main()

{

int i,j,a;

for(i=1;i<=9;i++)

{

for(j=1;j<=9;j++)

{

a=j*i;

printf("%d*%d=%-3d",a);

printf(" ");

}

printf("\n");

}

}

#include

void main()

{

int i,j,k,a;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

{

a=j*i;

printf("%d*%d=-3%d",j,i,a);

printf(" ");

}

for(k=1;k<=9-i;k++)

{

printf(" ");

}

printf("\n");

}

}

⒊由键盘输入一个正整数,判断它是否为素数(只

能被1和自身整除的数)。

void main()

{

int num,n;

printf("enter a number");

scanf("%d",&num);

for(n=2;n<=num-1;n++)

{

if(num%n==0)

{

printf("not a prime number");

break;

}

}

if(n==num)

printf("prime number");

}

⒋按下面的近似公式计算常量e的值,e的计算公式如下:

e=1+1/1!+1/2!+1/3!+……+1/n!

由键盘输入误差δ,当最后一个子项1/n!的值小

于δ时,计算结束。

void main()

{

int i=1;

float a,sum=1,n=1;

printf("enter a:\n");

scanf("%f",&a);

for(;1/n>=`a;i++)

{

sum=sum+1/n;

n=n*i;

}

printf("sum=%f",sum);

}

#include

void main()

{

- 1 -

int i=1;

float x,e=1,t=1;

printf("enter x:\n");

scanf("%f",&x);

while(1/t>=x)

{ e=e+1/t;

i++;

t=t*i;

}

printf("e=%f",e);

}

⒌百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两个小马驮1担。问有大、中、小马各多少匹?

#include

void main()

{

int i,j;

for(i=0;i<=34;i++)

{

for(j=0;j<(100-i*3)/2+1;j++)

if((100-i-j)%2==0 && 3*i+2*j+(100-i-j)/2==100)

printf("%d %d %d\n",i,j,100-i-j);

}

}_

⒍编写程序输出以下的图形:

1

2 3

4 5 6

7 8 9 10

void main()

{

int i,j,k,a=1;

for(i=1;i<=4;i++)

{

for(j=1;j<=4-i;j++)

printf(" ");

for(k=1;k<=i;k++)

{

printf("%d",a);

printf(" ");

a++;

}

printf("\n");

}

}

L a b4F u n c t i o n(P a r tⅠ)

⒈求m!/(n!*(m-n)!) 的值。要求:求某个数的阶层必须用自定义的函数实现。

#include

int fl(int x,int y,int z);

void main()

{

int m,n,k;

printf("enter m and n:\n");

scanf("%d %d",&m,&n);

k=fl(m,n,m-n );

printf("%d",k);

}

int fl(int x,int y,int z)

{

int a=1,b=1,c=1,i,j;

for(i=1;i<=x;i++)

a=a*i;

for(i=1;i<=y;i++)

b=b*i;

for(i=1;i<=z;i++)

c=c*i;

j=a/(b*c);

return(j);

}

⒉用二分法求下面方程2x3-4x2+3x-6=0的根,要求误差小于10-5。

#include

#include

float root(float x1,float x2);

float f(float x);

void main()

{

float x1,x2,f1,f2,x;

do

{

- 2 -

相关文档
最新文档