考研2018复试

您所在的位置:网站首页 c语言考研面试题 考研2018复试

考研2018复试

2023-03-29 15:53| 来源: 网络整理| 查看: 265

1、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 方法一:      分析: 土办法,从1到10000遍历,符合两个条件的即为所求。 #include #include int main(){int i,x,y;for(i=1;iint i, j, m, n, x;for (i = 1; i j=168/i; if(j%2==0)//确定j是偶数 {if(i>j&&i*j==168)//确定i*j=168,为防止i和j颠倒,设置i>j. { n=(i-j)/2; m=(i+j)/2;x=n*n-100;x=m*m-268;printf("%d+100=%d*%d\n",x,n,n);printf("%d+268=%d*%d\n",x,m,m);printf("===============\n" );} }}}} 运行结果: -99+100=1*1 -99+268=13*13 =============== 21+100=11*11 21+268=17*17 =============== 261+100=19*19 261+268=23*23 =============== 1581+100=41*41 1581+268=43*43 ===============-------------------------------- Process exited after 0.3052 seconds with return value 0 请按任意键继续. . . 2、有五个学生,每个学生有4门课的成绩,从键盘输入以上数据(包括学生号,姓名,4门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件“student”中。 #include #include typedef struct{int ID;int math;int English;int C;int python; int avargrade;char name[20]; }Stu; int main() {FILE *fp;Stu stu[5];int i,avargrade=0;printf("请输入5个同学的信息:学生号,姓名,4门成绩:\n");for(i=0;iprintf("error :cannot open file!\n");exit(0);}for(i=0;is=0;k=0;for(j=1; ja[k++]=j;s=s+j;}}if(s==i) {for(int n=0; nfloat a=2,b=1,s=0,t;for(int i=1;iint i;float sum=0;for(i=2;iint i;float sum=0;for(i=1;iint n;float t;float (*p)(int); //p是一个指向函数的指针变量 printf("请输入一个数:");scanf("%d",&n);if(n%2==0)p=even;elsep=odd;t=(*p)(n); //note:写法printf("%.2f",t);return 0; } 运行结果: 请输入一个数:4 0.75 -------------------------------- Process exited after 3.825 seconds with return value 0 请按任意键继续. . . 6、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,70-89分之间的用B表示,60-70分之间的用C表示,60以下的用D表示。 方法1: #include int main() {int s;printf("请输入你的成绩:") ;scanf("%d",&s);if(s>=90) {printf("A");}if(70printf("C");}if(sint s;char g;printf("请输入学习成绩:");scanf("%d",&s); g=(s>=90)?'A':(s>=70?'B':(s>=60)?'C':'D');printf("%c",g); } 运行结果: 请输入学习成绩:99 A -------------------------------- Process exited after 4.177 seconds with return value 0 请按任意键继续. . . 7、求一个4*4矩阵对角线元素之和。 #include int main(){int a[4][4],i,j,k;int s=0;for(i=0;iscanf("%d",&a[i][j]);}}printf("该矩阵的对角元素分别为:" );for(k=0;kchar a[6][10]= {"个","十", "百","千","万","十万"};int i=0,n; printf("请输入一个不大于6位的整数:");scanf("%d",&n);while(n!=0) {printf("%s位为:%d\n",&a[i],(n%10));//依次从个位输出n=n/10;//得个位以上;i++;//计算有几位}printf("==============");printf("总共%d位",i); } 运行结果: 请输入一个不大于6位的整数:345623 个位为:3 十位为:2 百位为:6 千位为:5 万位为:4 十万位为:3 ==============总共6位 -------------------------------- Process exited after 15.84 seconds with return value 0 请按任意键继续. . . 9、求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如3+33+333+3333+33333(此时 共有5个数相加),几个数相加有键盘控制。 #include int main() {int s=0,a,b,n;int c[n];printf("请分别输入数字和位数(以空格间隔):");scanf("%d %d",&a,&n);b=a;for(int i=0; iprintf("%d+",c[i]);}printf("%d=%d",c[n-1],s);} 请分别输入数字和位数(以空格间隔):3 4 3+33+333+3333=3702 -------------------------------- Process exited after 7.882 seconds with return value 0 请按任意键继续. . . 10、将一个正整数分解质因数。例如:输入42,打印出42=237。 分析:通过取余运算先找出可以整除此正整数的因子,每找到一个因子就通过取整将此正整数缩小 #include int main() {int i,n;scanf("%d",&n);printf("%d=",n);for(i=2; i //找到一个因子printf("%d",i);n=n/i;//缩小if(n!=1) {printf("*");}}} } 756 756=2*2*3*3*3*7 -------------------------------- Process exited after 3.489 seconds with return value 0 请按任意键继续. . .


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3