当前位置:首页 > 东北大学机械学院C语言考试题库及答案
61题目: 一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,?所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 #include
{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
{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 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 {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 {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 {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 {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 long n;/* 使用长整型变量,以免超出整数的表示范围 */ printf(\; scanf(\; for(j=999;j>=100;j--) /* 可能取值范围在999到100之间,j从大到小 */ if(n%j == 0 ) /* 若能够整除j,则j是约数,输出结果 */ { printf(\; break; /* 控制退出循环 */
共分享92篇相关文档