c语言一些机试题
更新时间:2023-12-05 12:04:01 阅读量: 教育文库 文档下载
C语言上机考试题(第一套)
1.编写函数fun,它的功能是:计算并输出下列级数和:
例如,当n = 10时,函数值为:0.909091 注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。
试题程序:
#include
float
???? }
main() /*主函数 */
{ clrscr();
printf(″%f\\n″, fun(10)); }
解答:
#include
main() /*主函数 */ { }
说明:主函数中的clrscr()函数为TC下使用的清屏函数,在VC中不能使用,在本题中可以直接删除或改为
system(\
2.在[10000, 20000]范围内考察个位数字是7的素数, 问: (1) 这样的素数有多少个?
system(\
printf(\double s=0; int i;
for(i=1;i (2) 其中最大的一个等于几? 解答: #include int max,num=0; int i,j; for(i=10000;i<20001;i++) { } for(j=2;j if( i%j==0 ) break; if( j==i && i==7) { } num++; max=i; printf(\return 0; } 3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。 解答: #include return 0; } C语言上机考试题(第二套) 1.编写函数fun,它的功能是:计算并输出下列级数和: 例如,当n = 10时,函数值为:0.909091 printf(\scanf(\ if( (year@0==0) || (year%4==0 && year0!=0) ) printf(\else printf(\ 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include ???? } main() /*主函数 */ { clrscr(); printf(″%f\\n″, fun(10)); } 解答:略(见第一套试题1) 2.回文数是指正读和反读都一样的自然数。例如,8, 121, 5445这三个数都是回文数。求: (1) [1,1000]之内既是回文数,又是素数的最大整数。 (2) [1,1000]以内既是回文数,又是素数的整数有多少个。 解答: #include int huiwen(int n) { } int sushu(int n) { int i,flag=0; for(i=2;i p=m; s=s*10+p; m=m/10; }while(m); if(s==n) flag=1; return flag; break; if(i==n) flag=1; return flag; } int main(void) { int i,max,num=0; } 3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。比如输入:”How are you”,有3 个单词和2个空格。 解答: #include char line[81]; int word=0,blank=0,flag=0; int i=0; gets(line); while(line[i]!='\\0') { if(line[i]==' ') { blank++; if(flag) flag=0; for(i=1;i<1001;i++) { if( huiwen(i) && sushu(i) ) { } max=i; num++; } printf(\return 0; } else if(!flag) { word++; flag=1; } i++; } printf(\ return 0; } C语言上机考试题(第三套) 1.编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中 Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:当t =1000时,函数值为:1597。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include ???? } main() /*主函数 */ { int n; clrscr(); n=1000; printf(″n = %d, f = %d\\n″,n, fun(n)); } 解答: #include while(f2 temp=f1; f1=f2; f2=temp+f1; } return f2; } main() /*主函数 */ { int n; n=1000; printf(\} 说明:主函数中的clrscr( )应删除,或者改为sys(“cls”) 2.先从键盘上输入一个3行3列矩阵元素的值,然后输出主对角线元素平方之和. 解答: #include for(j=0;j<3;j++) { scanf(\if(i==j) sum+=array[i][j]*array[i][j]; } printf(\ return 0; } 3. 编程:删除字符串中的数字字符。 解答: #include int i=0,j; gets(string); while(string[i]!='\\0') { if(string[i]>='0' && string[i]<='9') { j=i; do } else i++; { string[j]=string[j+1]; j++; }while(string[j]!='\\0'); } printf(\ return 0; } C语言上机考试题(第四套) 1.编写函数fun,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作 为函数值返回。 例如若n为1000时,函数值应为:s = 153.909064。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include main() /*主函数 */ { clrscr(); printf(″s=%f\\n″, fun (1000) ); } 解答: #include #include int i; double s,sum=0; for(i=1;i<1000;i++) { } s=sqrt(sum); if(i%3==0 && i%7==0 ) sum+=i; return s; } main() /*主函数 */ { printf(\} 2.编程求出两个非零正整数的最大公约数. 解答: #include int main(void) { int m,n,t; printf(\scanf(\if( m>0 && n>0) { if(m t=m%n; m=n; t=m; m=n; n=t; n=t; }while(t); printf(\} else printf(\ return 0; } 3.请编写程序:根据以下公式求π(要求满足精度0.0005)的近似值:π/2=1+1/3+(1*2)/(3*5)+ (1*2*3)/(3*5*7)+??+(1*2*3*4*??*n)/(3*5*7*??*(2n+1)) 解答: #include int main(void) { double sum=1; } C语言上机考试题(第五套) 1.现矩阵(3行3列)的转置(即行列互换)。 例如,输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 double p=1,q=1; int n=1; while ( p/q > 5e-4) { } p*=n; q*=(2*n+1); sum+=p/q; n++; printf(\return 0; #include int fun(int array[3][3]) { ???? } main() { int i, j; int array[3][3]={{100,200,300},{400,500,600},{700,800,900}}; clrscr() ; for (i=0;i<3;j++) { for (j=0;j<3;j++) printf(″}″,array[i][j]); printf(″\\n″); } fun(array); printf(“converted array:\\n”); for(I=0;I<3;I++) { for(j=0;j<3;j++) printf(“}”,array[I][j]); printf(“\\n”); } } 解答: #include main() { int i, j; for (i=0;i<3;i++) { } for (j=0;j temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]=temp; int array[3][3]={{100,200,300},{400,500,600},{700,800,900}}; for (i=0;i<3;i++) { for (j=0;j<3;j++) printf(\ } printf(\ fun(array); printf(\for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\printf(\ } } 2. 编写程序,计算s=1- + - +??+ - 解答: #include int main(void) { double s=0; int i,flag=1; } 3.编写程序,求2~100中的所有的亲密素数对的个数。亲密素数:如果x是素数,则x+2也是素数。 解答: #include int sushu(int n) { int i,flag=0; for(i=2;i for(i=1;i<101;i++) { } s+=1.0/i*flag; flag=-flag; printf(\return 0; } if(n%i==0) break; if(i==n) flag=1; return flag; int main(void) { int i,num=0; for(i=2;i<101;i++) if( sushu(i) && sushu(i+2) ) { } printf(\num++; printf(\ return 0; } C语言上机考试题(第六套) 1. 从键盘入一个整数k(2≦k≦10000),输出它的所有质因子(即所有为素数的因子)。例如,若 输入整数:2310,则应输出:2、3、5、7、11。 解答: #include int sushu(int n) { int i,flag=0; for(i=2;i break; if(i==n) flag=1; return flag; } int main(void) { } int i,k; printf(\scanf(\for(i=2;i if( k%i==0 && sushu(i) ) printf(\ } return 0; 2.编写函数fun,它的功能是:计算正整数n所有因子(1和n除外)之和作为函数值返回。 例如:n = 120时,函数值为239 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include ????? } main() /*主函数 */ { clrscr(); printf(″%d\\n″, fun (120)); } 解答: #include int i,sum=0; for(i=2;i main() /*主函数 */ { printf(\ if(n%i==0) sum+=i; return sum; } 3. 编写程序,求s=1/(1*2)+1/(2*3)+??+1/(n*(n+1) 解答: #include C语言上机考试题(第七套) 1.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n = 10,x = 0.3时,函数值为1.349859 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include #include double fun(double x , int n) { ????? } main() { clrscr(); printf(″%f\\n″, fun(0.3,10)); } 解答: #include double fun(double x,int n) { double s=0; printf(\scanf(\for(i=1;i s+=1.0/(i*(i+1)); printf(\return 0; double s=1,p=1; int i; for(i=1;i return s; } main() { printf(\} 2. 编写程序,求出并输出所有的“水仙花数”。所谓水仙花数,是指一个三位数,其各位数字的立方之 和等于该数。 解答: #include int main(void) { int a,b,c,i; for(i=100;i<1000;i++) { } a=i/100; b=i/10; c=i; if( a*a*a + b*b*b + c*c*c ==i) printf(\ return 0; } 3.给出三角形的三边a,b,c,求三角形的面积。 解答: #include { double a,b,c,p,s; printf(\ } scanf(\ if( a+b>c && b+c>a && c+a>b) { p=(a+b+c)/2; s=sqrt( p * (p-a) * (p-b) * (p-c) ); } printf(\ else printf(\return 0; C语言上机考试题(第八套) 1.编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回:n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+??+1/(1+2+3+?+N) 例如:若n的值为11时,则函数的值为:1.833333 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include ???? } main() { int n; float s; clrscr() printf(″\\nPlease enter N:″); scanf(″%d″, &n); s = fun(n); printf(″the result is: %f\\n″, s); } 解答: #include #include int i; float s=0,p=0; } main() { int n; float s; printf(\scanf(\ s = fun(n); printf(\for(i=1;i return s; p+=i; s+=1.0/p; } 2.编程求:一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时 ,共经过多少米?第10次反弹多高? 解答: #include int main(void) { int i; double s=100,sum=100; for(i=1;i<10;i++) { } s=s/2; sum+=2*s; printf(\return 0; } 3.编程:根据以下公式求π值,并作为函数值返回.(精确到0.000001). 解答: #include double fun(void) { int i=1; double m=1,n=1,s=1; do { m*=i; n*=(2*i+1); s=s+m/n; i++; }while((m/n)>1e-6); return 2*s; } int main(void) { double pi; pi=fun(); printf(\ return 0; } C语言上机考试题(第九套) 1.下列程序中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。 例如:若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请编写fun函数,使它能得出正确的结果。 试题程序: #include main( ) { int b, n; clrscr(); printf(″\\nPlease enter a number and a base:\\n″); scanf(″%d %d″,&n, &b ); fun( n, b ); printf(″\\n″); } 解答: #include void fun( int m, int k ) { int t=1; long s=0; do { s+=(m%k)*t; t*=10; }while( m/=k); s+=(m%k)*t; printf(\} main( ) { int b, n; printf(\scanf(\fun(n,b); printf(\ } 2.一个自然数平方的末几位与该数相同时,称该数为同构数.例如,252=625,则25为同构数.编程求出1~1000 中所有的同构数. 解答: #include long i,j,k; k=10; for (i=1;i<=1000;i++) { } if (i==k) k*=10; j=i*i; if(j%k==i) printf(\ return 0; } 3.编程计算 的值。当程序正确时,结果为:2488.000000。 函数定义如下: 解答: #include double fun(double x) { double s; s=2*x*x+3*x+4; if(x<=2) else s=-2*x*x+3*x-4; return s; } int main(void) { double s; s=fun( fun(-1.0)+fun(5.0)); printf(\ return 0; } C语言上机考试题(第十套) 1.下列程序中,fun函数的功能是:求 s = aa? aa - ? - aaa – aa – a (此处aa? aa表示n个a,a和n的值在1至9之间) 例如:a = 3,n = 6,则以上表达式为: s = 333333 – 33333 – 3333 – 333 – 33 – 3 其值为:296298 a和n是fun函数的形参,表达式的值作为函数值传回main函数。 请编写fun函数,使它能计算出正确的结果。 试题程序: #include long fun (int a, int n) { ????? } main( ) } int i; float p1,p2,p3,s; p1=p2=p3=1; for(i=1;i main() /*主函数 */ { printf(\} 2.求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并求这些数的个数。 解答: #include int main(void) { int i,count=0; for(i=1;i<1001;i++) { if( (i%7==0||i==0) && !(i%7==0 && i==0) ) { printf(\ } count++; } printf(\ return 0; } 3.编程求一个3×3矩阵对角线元素之和. 解答: #include { int array[N][N],i,j,sum=0; for(i=0;i for(j=0;j sum+=array[i][j]; for(i=0;i for(j=0;j printf(\ } printf(\ } printf(\ return 0; } C语言上机考试题(第十三套) 1.下列程序中,函数fun的功能是:求以下分数序列的前n项之和。 1/2,2/3,3/5,5/8,8/13,13/21,?? 和值通过函数值返回main函数。例如,若n的值为:5,则应输出:3.007051。 请编写程序中的fun函数, 使它能得出正确的结果。 试题程序: #include main() { int n; printf(″Enter n: ″); scanf(″%d″, &n); printf(″\\nThe result : %f \\n″, fun(n)); } 解答: #include } double s=x/y; for(i=1;i y=t+x; s+=x/y; } return s; main() { int n; printf(\ scanf(\ printf(\ } 2. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。比如输入:”How are you”,有3 个单词和2个空格。 解答: #include int main(void) { char str[81]; int i=0,flag=0,word=0,blank=0; printf(\gets(str); while( str[i]!='\\0' ) { if(str[i]==' ') { } else if( flag==0 ) { word++; flag=1; blank++; flag=0; } i++; } printf(\ return 0; } 3.编写程序,求1+3+5+7+??+195+197+199的和。 解答: #include int main(void) { } C语言上机考试题(第十四套) 1.已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。下列程序中 ,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。 例如,当n=10时,程序的输出结果应为:23.197745。 请编写fun函数,使程序的输出正确的结果。 试题程序: #include ???? } main ( ) { int n; clrscr( ); printf(″Input N=″); scanf(″%d″, &n); printf(″%f\\n″, fun(n)); } 解答: int i; long sum=0; for(i=1;i<200;i=i+2) sum+=i; printf(\return 0; #include double fun(int n) { int i; int p[100]; double sum=0; p[0]=p[1]=0; p[2]=1; for(i=3;i p[i]=p[i-3]+p[i-2]+p[i-1]; } for(i=0;i sum+=sqrt(p[i]); return sum; } main ( ) { int n; printf(\ scanf(\ printf(\} 2. 编写程序,用简单选择排序方法对输入的10个整数排序(从大到小)。 解答: #include int main(void) { int i,j,temp,a[N]; printf(\for(i=0;i<10;i++) scanf(\for(i=0;i for(j=i+1;j if(a[i]
正在阅读:
c语言一些机试题12-05
教育统计与测量课程练习题库11-03
五个中医秘传刮痧养肾法12-04
答案04-19
那个深爱我的人作文500字07-09
广东省正地厅级干部简历03-24
高绩效员工的七个习惯03-19
msp430 IO实验报告07-06
物理上4-8习习题解10-18
C语言程序设计项目教程习题答案03-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题
- 语言
- 一些
- 煤矿班组长培训考试试题答案
- 郑板桥
- 文言特殊句式练习
- 北京考察报告
- 县国土资源局政风行风建设情况述职报告
- 货币银行学 练习题1-8章(更新)
- 电机轴失效的因素是什么导致?电机轴失效分析 - 图文
- 2015年陕西省小学教师资格证:儿童文学考试试卷
- 人教版语文三年级上学期照样子写词、句子+句子练习
- 海事违法行为行政处罚裁量基准(2018) - 图文
- 数据库课后习题答案(第四版)
- 质量管理制度执行情况检查考核表 - 图文
- 理论力学参考答案第5章
- 人教版八年级上册物理《我们怎样听到声音》导学案
- 10.第八章 防震抗震(表格教案) - 图文
- 2012大学物理B一作业题解答要点
- 手工盒工艺与生产
- 种树郭橐驼传翻译与词类活用
- 2017年河南省许昌2练思想品德
- 智慧渔业信息化服务管理平台整体建设方案 - 图文