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

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

61题目: 一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,?所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 #include main()

{int i,n,a;

for(i=0; ;i++) {if(i%8==1) {n=i/8; if(n%8==1) {n=n/8; if(n%8==7) a=n/8; } }

if(i==4) {n=i/17; if(n==15) n=n/17; }

if(2*a==n)

{printf(\; break; } }

62题目:验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。

#include main()

{int i,j,k,m,error;

for(i=6;i<=2000;i+=2) {error=1;

for(j=2;j

for(k=2;k

break;/* j能够被小于它的一个数整除就不是素数 */ if(k>=j)/* j是素数 */ {m=i-j;

for(k=2;k

if(m%k==0) break;

if(k>=m)/* m也是素数,输出结果 */ {printf(\; error=0; break; } } }

if(error)

printf(\; } }

63题目:利用1、2、3、4个数字,可以组成多少个互不相同且无重复数字的三位数?都是多少?输出计算结果。

#include main() {int i,j,k;

for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) {

if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/ printf(\} }

64题目:如果一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,输出该数是多少(提示在100000内判断,可利用开平方函数)。 #include main()

{long int i,x,y,z;

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

{x=sqrt(i+100);/*x为加上100后开方后的结果*/ y=sqrt(i+168);/*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+168) printf(\

/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ } }

65题目:输出9*9口诀 #include main()

{int i,j,result;? printf(\

for(i=1;i<10;i++) {for(j=1;j<10;j++) {result=i*j;

printf(\/*-3d表示左对齐,占3位*/ }

printf(\每一行后换行*/ } }

66题目:将一个正整数分解质因数(例如输入90,打印出90=2*3*3*5)。 #include main()

{int a,b,num1,num2,temp;

printf(\scanf(\if(num1

a=num1; b=num2;

while(b!=0)/*利用辗除法,直到b为0为止*/ {

temp=a%b; a=b; b=temp; }

printf(\

printf(\}

67题目:输入一个星期中的英文字母以此判断是星期几,如果第一个字母一样,则继续判断第二个字母。

#include main()

{char letter;

printf(\

while((letter=getch())!='Y')/*当所按字母为Y时才结束*/ {

switch (letter)

{case 'S':printf(\if((letter=getch())=='a') printf(\

else if((letter=getch())=='u') printf(\else

printf(\ break;

case 'F':printf(\case 'M':printf(\

case 'T':printf(\if((letter=getch())=='u') printf(\

else if((letter=getch())=='h') printf(\else

printf(\break;

case 'W':printf(\default: printf(\} } }

68题目:计算并输出555555的约数中最大的三位数。 #include main() {int j;

long n;/* 使用长整型变量,以免超出整数的表示范围 */ printf(\; scanf(\;

for(j=999;j>=100;j--)

/* 可能取值范围在999到100之间,j从大到小 */

if(n%j == 0 ) /* 若能够整除j,则j是约数,输出结果 */ {

printf(\; break; /* 控制退出循环 */