东北大学机械学院C语言考试题库及答案 联系客服

发布时间 : 星期日 文章东北大学机械学院C语言考试题库及答案更新完毕开始阅读

30题目:输出1至100之间每位数的乘积大于每位数的和的数 #include void main(void) {int n,a,b,c:

for(n=1;n<100;n++) {a=n/10; b=n; if( a*b>=a+b) printf(“=”,n); } }

31题目:找出1~1000之间的所有完数(提示:“完数”是指一个数恰好等于它的除自身外的所有因子之和,例如:28=1+2+4+7+14,因此28是\完数\),。要求按下面格式输出其因子:28 its factors are 1,2,4,7,14。 #include “stdio.h” main() {

int I,j,k,sum;

printf(“\\n1000以内的所有完数有;”); for(i=2; i<1000;i++) {sum=1; k=i/2;

for(j=2; j<=k;j++) if(i%j ==0) sum=sum+j; if(i= =sum) printf(“\\n%d”,I); } }

32题目:计算 S=1!+2!+3!+…+20!的值并输出 #include void main(void) {int i;

float n=1, sum=0; for(i=1;i<=20;i++) {n=n*i; sum+=n; } }

33题目:利用公式e=1/1!+1/2!+1/3!+…+1/n!计算e的值并输出(要求:误差小于10-5)。 #include void main(void) {float e=0,t=1; int n=1,m=1; while(t>exp(-5)) {n=n*m; t=1.0/n; e=e+t; m++; }

printf(“e=%f\\n”,e); }

34题目:计算并输出自然数1到n的平方和。 #include void main(void) {int i,n,sum=0; scanf(“%d”,&n); for (i=1;i<=n;i++) sum+=i*i;

printf(“sum=%d\\n”,sum); }

35题目:计算并输出1至n之间的奇数之和以及偶数之和(其中n由键盘输入)。 #include main( )

{int i,n,sum1=0,sum2=0; printf(“enter a number:\\n”); scanf(“%d”,&n); for(i=1;i<=n;i++) if(i%2==0) sum2+=i; else sum2+=i;

printf(”sum1=%d,sum2=%d\\n”,sum1,sum2); }

36题目:计算并输出用数字0~9可以组成多少个没有重复的三位偶数。 #include main( )

{int a,b,c,num;

for (a=0;a<=8;a+=2) for(b=0;b<=9;b++) for(c=1;c<=9;c++)

if(a!=b&&b!=c&&c!=a) {printf(“%d%d%d? ”,c,b,a); num++; }

printf(“num=%d\\n”,num); }

37题目:现有数列 :1/2,2/3,3/5,5/8,8/13,13/21,…… , 计算并输出该数列的前 100 项之和。 #include {int n,t,number=100; float a=2,b=1,s=0;

for(n=1;n<=number;n++) {

s=s+b/a;

t=a;a=a+b;b=t; }

printf(\ }

38题目:假设猴子第一天摘下若干桃子,并吃了一半又加一个,第二天早上又将剩下的桃子吃掉一半又加一个,以后每天早上都吃了前一天剩下的一半又加一个。到第 10 天早上时,只剩下一个桃子。计算并输出猴子第一天共摘多少桃子。 #include main()

{int i=1,sum=0; for(;i<=10;i++); sum=2*sum+1;

printf(\}

39题目: 一个球从 100m 高度自由落下,每次落地后反跳回原来高度的一半,再落下。计算并输出它在第 10 次落地时共经过了多少 米? 第 10 次反弹高度是多少? #include main()

{float sn=100.0,hn=sn/2; int n;

for(n=2;n<=10;n++) {

sn=sn+2*hn; hn=hn/2; }

printf(“ 第十次落地是共经过的米数为: %f”,sn); printf(“ 第十次反弹 %f 米 \\n”,hn); }

40题目:利用牛顿迭代法求解方程 #include #include main()

{float x,x0,f,f1; x=1.5; do {x0=x;

f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1;

}while(fabs(x-x0)>=1e-5); printf(\方程的根=%6.2f\\n\ }

在 1.5 附近的根并输出。

41题目:利用二分法求解方程 #include #include main()

{float x0,x1,x2,fx0,fx1,fx2; do

{printf(\请输入 x1,x2 的值: \\n\ scanf(\ fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6; }while(fx1*fx2>0); do

{x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6; if((fx0*fx1)<0) {x2=x0; fx2=fx0; } else

在(-10,10)之间的根并输出。