ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:26.92KB ,
资源ID:28469672      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28469672.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C上机题库100题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级C上机题库100题.docx

1、二级C上机题库100题 C语言机试答案第一套 1.编写函数fun,它的功能是:计算并输出下列级数和:S=1/2+1/2*3+1/3*4+.1/n*(n+1)例如,当n = 10时,函数值为:0.909091#include#includedouble fun(int n) double s=0; int i; for (i=1;in+1;i+) s+=1.0/(i*(n+1); return s;main() printf(%fn,fun(10);2.在10000, 20000范围内考察个位数字是7的素数, 问: (1) 这样的素数有多少个? (2) 其中最大的一个等于几?#includein

2、t main(void) int max,num=0; int i,j; for(i=10000;i20001;i+) for(j=2;ji;j+) if(i%j=0) break; if(i=j&i%10=7) num+; max=i; printf(num=%d,max=%dn,num,max); return 0;3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。#includeint main(void) int year; printf(please input the year:n); scanf(%d,&year); if(year%400=0)|(year%4=0&yea

3、r%100!=0) printf(%d is a leap year!,year); else printf(%d is not a leap year!,year); return 0;第二套1.编写函数fun,它的功能是:计算并输出下列级数和:例如,当n = 10时,函数值为:0.909091#include#includedouble fun(int n) double s=0; int i; for (i=1;in+1;i+) s+=1.0/(i*(n+1); return s;main() printf(%fn,fun(10);2.回文数是指正读和反读都一样的自然数。例如,8, 12

4、1, 5445这三个数都是回文数。求: (1) 1,1000之内既是回文数,又是素数的最大整数。(2) 1,1000以内既是回文数,又是素数的整数有多少个。#includeint huiwen(int n) int p,m,flag=0; int s=0; m=n; do p=m%10; s=s*10+p; m=m/10; while(m); if(s=n) flag=1; return flag;int sushu(int n) int i,flag=0; for(i=2;in;i+) if(n%i=0) break; if(i=n) flag=1; return flag;int main

5、(void) int i,max,num=0; for(i=1;i1001;i+) if(huiwen(i)&sushu(i) max=i; num+; printf(num=%d,max=%dn,num,max); return 0;3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。比如输入:”How are you”,有3个单词和2个空格#includeint main(void) char line81; int word=0,blank=0,flag=0; int i=0; gets(line); while(linei!=0) if(linei= ) blank+;

6、if(flag) flag=0; else if(!flag) word+; flag=1; i+; printf(word=%d,blank=%d,word,blank); return 0;第三套 1.编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)例如:当t =1000时,函数值为:1597。#include#include#includeint fun(int t) int f1=0,f2=1,temp; while(f2t) temp

7、=f1; f1=f2; f2=temp+f1; return f2;main() int n; n=100; printf(n=%d,f=%dn,n,fun(n);2.先从键盘上输入一个3行3列矩阵元素的值,然后输出主对角线元素平方之和.#includeint main(void) int array33; int i,j,sum=0; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&arrayij); if(i=j) sum+=arrayij*arrayij; printf(sum=%dn,sum); return 0;3. 编程:删除字符串中的数字字符。#i

8、ncludeint main(void) char string81; int i=0,j; gets(string); while(stringi!=0) if(stringi=0&stringi=9) j=i; do stringj=stringj+1; j+; while(stringj!=0); else i+; printf(%sn,string); return 0;第四套 1.编写函数fun,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。例如若n为1000时,函数值应为:s = 153.909064。#include#includ

9、e#includedouble fun (int n) int i; double s,sum=0; for(i=1;i1000;i+) if(i%3=0&i%7=0) sum+=i; s=sqrt(sum); return s;main() printf(s=%fn,fun(1000);2.编程求出两个非零正整数的最大公约数.#includeint main(void) int m,n,t; printf(please input two positive integer :n); scanf(%d%d,&m,&n); if(m0&n0) if(mn) t=m;m=n;n=t; do t=m

10、%n; m=n; n=t; while(t); printf(the max common divisor is %dn,m); else printf(Error!n); 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))#includeint main(void) double sum=1; double p=1,q=1; int n=1; while(p/q5e-4) p*=n; q*=(2*n+1); sum+=p/q; n+

11、; printf(pi=%f,2*sum); return 0;第五套 1.现矩阵(3行3列)的转置(即行列互换)。例如,输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900#include#includeint fun(int array33) int temp,i,j; for(i=0;i3;i+) for(j=0;ji+1;j+) temp=arrayij; arrayij=arrayji; arrayji=temp; return 0;main() int i,j; int arr

12、ay33=100,200,300,400,500,600,700,800,900; for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,arrayij); printf(n); fun(array); printf(converted array:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,arrayij); printf(n); return 0;2. 编写程序,计算s=s=1- 1/2+ 1/3-1/4 + 1/99- 1/100#includeint main(void) double s=0; int i,fl

13、ag=1; for(i=1;i101;i+) s+=1.0/i*flag; flag=-flag; printf(s=%fn,s); return 0;3.编写程序,求2100中的所有的亲密素数对的个数。亲密素数:如果x是素数,则x+2也是素数。#includeint sushu(int n) int i,flag=0; for(i=2;in;i+) if(n%i=0) break; if(i=n) flag=1;return flag;int main(void) int i,num=0; for(i=2;i101;i+) if(sushu(i)&sushu(i+2) printf(%d,%

14、dn,i,i+2); num+; printf(num=%dn,num); return 0;第六套 1. 从键盘入一个整数k(2k10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入整数:2310,则应输出:2、3、5、7、11。#includeint sushu(int n) int i,flag=0; for(i=2;in;i+); if(n%i=0) / break; if(i=n) flag=1; return flag;int main(void) int i,k; printf(please input an integer:(2=k=10000)n); scan

15、f(%d,&k); for(i=2;ik;i+) if(k%i=0&sushu(i) printf(%dt,i); return 0;2.编写函数fun,它的功能是:计算正整数n所有因子(1和n除外)之和作为函数值返回。例如:n = 120时,函数值为239#include#includeint fun(int n) int i,sum=0; for(i=2;in;i+) if(n%i=0) sum+=i; return sum;main() printf(%dn,fun(120);3. 编写程序,求s=1/(1*2)+1/(2*3)+1/(n*(n+1)#include#includedou

16、ble fun(int n) double s=0; int i; for (i=1;in+1;i+) s+=1.0/(i*(n+1); return s;main() printf(%fn,fun(10);第七套 1.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n = 10,x = 0.3时,函数值为1.349859#include#include#includedouble fun (double x,int n) double s=1,p=1; int i; for(i=1;in+1;i+) p*=x/i; s+=p; return s;main() printf

17、(%fn,fun(0.3,10);2. 编写程序,求出并输出所有的“水仙花数”。所谓水仙花数,是指一个三位数,其各位数字的立方之和等于该数。#includemain() int a,b,c,d,k; for(k=100;k=999;k+) a=k/100; b=(k-a*100)/10; c=k-a*100-b*10; d=a*a*a+b*b*b+c*c*c; if(k=d) printf(%5d,k); printf(n);3.给出三角形的三边a,b,c,求三角形的面积。#include#includemain() float a,b,c,area,p; scanf(%f,%f,%f,&a,

18、&b,&c); p=(a+b+c)/2; if(a+bc&a+cb&b+ca) area=sqrt(p*(p-a)*(p-b)*(p-c); printf(Area=%6.2fn,area); else printf(Errorn);第八套 1.编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回:n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+N)例如:若n的值为11时,则函数的值为:1.833333#include#include#includefloat fun(int n) int i; float s=0,p=0; for(i=1;i

19、n+1;i+) p+=i; s+=1.0/p; return s;main() int n; float s; printf(nplease enter N:); scanf(%d,&n); s=fun(n); printf(the result is :%fn,s);2.编程求:一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?#includeint main(void) int i; double s=100,sum=100; for(i=1;i10;i+) s=s/2; sum+=2*s; printf(s=%lf,

20、sum=%lfn,s/2,sum); return 0;3.编程:根据以下公式求值,并作为函数值返回.(精确到0.000001). /2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+#includeint main(void) double sum=1; double p=1,q=1; int n=1; while(p/q5e-4) p*=n; q*=(2*n+1); sum+=p/q; n+; printf(pi=%f,2*sum); return 0;第九套 1.下列程序中,函数fun的功能是:将十进制正整数m转换成k(2k9)进制数,并按位输出。例如:若输入8和2

21、,则应输出1000(即十进制数8转换成二进制表示是1000)。#include#includevoid 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(%d,s);main() int b,n; printf(n please enter a number and a base:n); scanf(%d%d,&n,&b); fun(n,b); printf(n);2.一个自然数平方的末几位与该数相同时,称该数为同构数.例如,252=625,则25为同构数.编程求

22、出11000中所有的同构数.#include stdio.hmain() int a,b; for(a=1;a10;a+) b=a*a; if(b%10=a)printf(%4dn,a); for(a=10;a100;a+) b=a*a; if(b%100=a)printf(%4dn,a); for(a=100;a=2)且f(x)=-2x*x+3x-4(x2)#includedouble fun(double x) double s; if(x=2) s=2*x*x+3*x+4; else s=-2*x*x+3*x-4; return s;int main(void) double s; s=

23、fun(fun(-1.0)+fun(5.0); printf(%fn,s); return 0;第十套 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#include#includelong fun(int a,int n) int i; long s=a,p=a; for(i=1;in;i+) p=p*10+a; if(i=n-1) s=p-s; else s+=p; ret

24、urn s;main() int a,n; printf(n please enter a and n:); scanf(%d%d,&a,&n); printf(The value of function is :%ldn,fun(a,n);2.将4100中的偶数分解成两个素数之和,每个数只取一种分解结果.如100=3+97,100=11+89,100=17+83等,但我们只取第一种分解即可.#include main() int x,k,a,b,count=0; for(x=4;x101;x=x+2) for(a=2;a=(x/2);a+) for(k=2;ka;k+) if(a%k=0) break; if(a=k) b=x-a; for(k=2;kb;k+) if(b%k=0) break; if(b=k) printf(%3d=%3d+%3dt,x,a,b); count+; break; if(count%3=0) printf(n);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1