c语言一些机试题.docx
- 文档编号:2569994
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:69
- 大小:29.92KB
c语言一些机试题.docx
《c语言一些机试题.docx》由会员分享,可在线阅读,更多相关《c语言一些机试题.docx(69页珍藏版)》请在冰点文库上搜索。
c语言一些机试题
C语言上机考试题(第一套)
1.编写函数fun,它的功能是:
计算并输出下列级数和:
例如,当n=10时,函数值为:
0.909091
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include
#include
doublefun(intn)
{
float
…………
}
main()/*主函数*/
{clrscr();
printf(″%f\n″,fun(10));
}
解答:
#include
#include
doublefun(intn)
{
doubles=0;
inti;
for(i=1;i s+=1.0/(i*(i+1)); returns; } main()/*主函数*/ { system("cls"); printf("%f\n",fun(10)); } 说明: 主函数中的clrscr()函数为TC下使用的清屏函数,在VC中不能使用,在本题中可以直接删除或改为 system("cls") 2.在[10000,20000]范围内考察个位数字是7的素数,问: (1)这样的素数有多少个? (2)其中最大的一个等于几? 解答: #include intmain(void) { intmax,num=0; inti,j; for(i=10000;i<20001;i++) { for(j=2;j if(i%j==0) break; if(j==i&&i%10==7) { num++; max=i; } } printf("num=%d,max=%d\n",num,max); return0; } 3.编写程序,从键盘输入一年份,判断该年份是否为闰年。 解答: #include intmain(void) { intyear; printf("pleaseinputtheyear: \n"); scanf("%d",&year); if((year%400==0)||(year%4==0&&year%100! =0)) printf("%disaleapyear! ",year); else printf("%disnotaleapyear! ",year); return0; } C语言上机考试题(第二套) 1.编写函数fun,它的功能是: 计算并输出下列级数和: 例如,当n=10时,函数值为: 0.909091 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include #include doublefun(intn) { ………… } main()/*主函数*/ {clrscr(); printf(″%f\n″,fun(10)); } 解答: 略(见第一套试题1) 2.回文数是指正读和反读都一样的自然数。 例如,8,121,5445这三个数都是回文数。 求: (1)[1,1000]之内既是回文数,又是素数的最大整数。 (2)[1,1000]以内既是回文数,又是素数的整数有多少个。 解答: #include inthuiwen(intn) { intp,m,flag=0; ints=0; m=n; do { p=m%10; s=s*10+p; m=m/10; }while(m); if(s==n) flag=1; returnflag; } intsushu(intn) { inti,flag=0; for(i=2;i if(n%i==0) break; if(i==n) flag=1; returnflag; } intmain(void) { inti,max,num=0; for(i=1;i<1001;i++) { if(huiwen(i)&&sushu(i)) { max=i; num++; } } printf("num=%d,max=%d\n",num,max); return0; } 3.编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。 比如输入: ”Howareyou”,有3 个单词和2个空格。 解答: #include intmain(void) { charline[81]; intword=0,blank=0,flag=0; inti=0; gets(line); while(line[i]! ='\0') { if(line[i]=='') { blank++; if(flag) flag=0; } else if(! flag) { word++; flag=1; } i++; } printf("word=%d,blank=%d\n",word,blank); return0; } 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 #include #include intfun(intt) { ………… } main()/*主函数*/ {intn; clrscr(); n=1000; printf(″n=%d,f=%d\n″,n,fun(n)); } 解答: #include #include #include intfun(intt) { intf1=0,f2=1,temp; while(f2 { temp=f1; f1=f2; f2=temp+f1; } returnf2; } main()/*主函数*/ { intn; n=1000; printf("n=%d,f=%d\n",n,fun(n)); } 说明: 主函数中的clrscr()应删除,或者改为sys(“cls”) 2.先从键盘上输入一个3行3列矩阵元素的值,然后输出主对角线元素平方之和. 解答: #include intmain(void) { intarray[3][3]; inti,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) { scanf("%d",&array[i][j]); if(i==j) sum+=array[i][j]*array[i][j]; } printf("sum=%d\n",sum); return0; } 3.编程: 删除字符串中的数字字符。 解答: #include intmain(void) { charstring[81]; inti=0,j; gets(string); while(string[i]! ='\0') { if(string[i]>='0'&&string[i]<='9') { j=i; do { string[j]=string[j+1]; j++; }while(string[j]! ='\0'); } else i++; } printf("%s\n",string); return0; } C语言上机考试题(第四套) 1.编写函数fun,它的功能是: 求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作 为函数值返回。 例如若n为1000时,函数值应为: s=153.909064。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include #include #include doublefun(intn) { } main()/*主函数*/ {clrscr(); printf(″s=%f\n″,fun(1000)); } 解答: #include #include #include doublefun(intn) { inti; doubles,sum=0; for(i=1;i<1000;i++) { if(i%3==0&&i%7==0) sum+=i; } s=sqrt(sum); returns; } main()/*主函数*/ { printf("s=%f\n",fun(1000)); } 2.编程求出两个非零正整数的最大公约数. 解答: #include intmain(void) { intm,n,t; printf("pleaseinputtwopositiveinteger: \n"); scanf("%d%d",&m,&n); if(m>0&&n>0) { if(m { t=m;m=n;n=t; } do{ t=m%n; m=n; n=t; }while(t); printf("themaxcommondivisoris%d\n",m); } else printf("Error! \n"); return0; } 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 intmain(void) { doublesum=1; doublep=1,q=1; intn=1; while(p/q>5e-4) { p*=n; q*=(2*n+1); sum+=p/q; n++; } printf("pi=%f",2*sum); return0; } C语言上机考试题(第五套) 1.现矩阵(3行3列)的转置(即行列互换)。 例如,输入下面的矩阵: 100200300 400500600 700800900 程序输出: 100400700 200500800 300600900 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include intfun(intarray[3][3]) { ………… } main() { inti,j; intarray[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(″%7d″,array[i][j]); printf(″\n″); } fun(array); printf(“convertedarray: \n”); for(I=0;I<3;I++) {for(j=0;j<3;j++) printf(“%7d”,array[I][j]); printf(“\n”); } } 解答: #include #include intfun(intarray[3][3]) { inttemp,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; } } } main() { inti,j; intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}}; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("convertedarray: \n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } } 2.编写程序,计算s=1-+-+……+- 解答: #include intmain(void) { doubles=0; inti,flag=1; for(i=1;i<101;i++) { s+=1.0/i*flag; flag=-flag; } printf("s=%f\n",s); return0; } 3.编写程序,求2~100中的所有的亲密素数对的个数。 亲密素数: 如果x是素数,则x+2也是素数。 解答: #include intsushu(intn) { inti,flag=0; for(i=2;i if(n%i==0) break; if(i==n) flag=1; returnflag; } intmain(void) { inti,num=0; for(i=2;i<101;i++) if(sushu(i)&&sushu(i+2)) { printf("%d,%d\n",i,i+2); num++; } printf("num=%d\n",num); return0; } C语言上机考试题(第六套) 1.从键盘入一个整数k(2≦k≦10000),输出它的所有质因子(即所有为素数的因子)。 例如,若 输入整数: 2310,则应输出: 2、3、5、7、11。 解答: #include intsushu(intn) { inti,flag=0; for(i=2;i if(n%i==0) break; if(i==n) flag=1; returnflag; } intmain(void) { inti,k; printf("pleaseinputainteger: (2<=k<=10000)\n"); scanf("%d",&k); for(i=2;i { if(k%i==0&&sushu(i)) printf("%d\t",i); } return0; } 2.编写函数fun,它的功能是: 计算正整数n所有因子(1和n除外)之和作为函数值返回。 例如: n=120时,函数值为239 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include #include intfun(intn) { …………… } main()/*主函数*/ {clrscr(); printf(″%d\n″,fun(120)); } 解答: #include #include intfun(intn) { inti,sum=0; for(i=2;i if(n%i==0) sum+=i; returnsum; } main()/*主函数*/ { printf("%d\n",fun(120)); } 3.编写程序,求s=1/(1*2)+1/(2*3)+……+1/(n*(n+1) 解答: #include intmain(void) { intn,i; doubles=0; printf("pleaseinputainteger: \n"); scanf("%d",&n); for(i=1;i s+=1.0/(i*(i+1)); printf("s=%f\n",s); return0; } C语言上机考试题(第七套) 1.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n=10,x=0.3时,函数值为1.349859 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include #include #include doublefun(doublex,intn) { …………… } main() {clrscr(); printf(″%f\n″,fun(0.3,10)); } 解答: #include #include #include doublefun(doublex,intn) { doubles=1,p=1; inti; for(i=1;i { p*=x/i; s+=p; } returns; } main() { printf("%f\n",fun(0.3,10)); } 2.编写程序,求出并输出所有的“水仙花数”。 所谓水仙花数,是指一个三位数,其各位数字的立方之 和等于该数。 解答: #include intmain(void) { inta,b,c,i; for(i=100;i<1000;i++) { a=i/100; b=i/10%10; c=i%10; if(a*a*a+b*b*b+c*c*c==i) printf("%d\t",i); } return0; } 3.给出三角形的三边a,b,c,求三角形的面积。 解答: #include #include intmain(void) { doublea,b,c,p,s; printf("pleaseinputthreenumbers: (a,b,c)\n"); scanf("%lf%lf%lf",&a,&b,&c); 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("a=%.2f,b=%.2f,c=%.2fs=%.2f\n",a,b,c,s); } else printf("Error! \n"); return0; } 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 #include #include floatfun(intn) { ………… } main() {intn; floats; clrscr() printf(″\nPleaseenterN: ″); scanf(″%d″,&n); s=fun(n); printf(″theresultis: %f\n″,s); } 解答: #include #include #include floatfun(intn) { inti; floats=0,p=0; for(i=1;i { p+=i; s+=1.0/p; } returns; } main() { intn; floats; printf("\nPleaseenterN: "); scanf("%d",&n); s=fun(n); printf("theresultis: %f\n",s); } 2.编程求: 一球从100米高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 一些 试题