《C语言程序设计》自检自测题及答案

上传人:xian****hua 文档编号:150958099 上传时间:2022-09-11 格式:DOC 页数:10 大小:34.50KB
收藏 版权申诉 举报 下载
《C语言程序设计》自检自测题及答案_第1页
第1页 / 共10页
《C语言程序设计》自检自测题及答案_第2页
第2页 / 共10页
《C语言程序设计》自检自测题及答案_第3页
第3页 / 共10页
资源描述:

《《C语言程序设计》自检自测题及答案》由会员分享,可在线阅读,更多相关《《C语言程序设计》自检自测题及答案(10页珍藏版)》请在装配图网上搜索。

1、C+语言程序设计自检自测题(三)及答案一、给出下列程序运行后的输出结果1#includevoid main() int s1=0,s2=0; for(int i=0;i10;i+) if(i%2)s1+=i; else s2+=i; couts1s2endl;2.#includevoid main() int a8=8,19,26,15,6,24,27,18; int i2=0,i3=0; for(int i=0;i8;i+) if(ai%2=0)i2+; else if(ai%3=0)i3+; couti2i3endl;3.#includevoid main() int a34=1,2,7,

2、8,5,6,11,12,9,20,3,4; int m=a00;int ii=0,jj=0;for(int i=0;i3;i+) for(int j=0;jm)m=aij;ii=i;jj=j;coutiijjaiijjendl;4.#includevoid main() int a=10,b=15; coutabendl; a*=3; int b=a+20; coutabendl; coutabendl;5.#includevoid main() int x=20,y=40,*p; p=&x;cout*p;*p=x+10;p=&y;cout*pendl;*p=y+20;coutxyendl;6

3、.#includevoid SB(char ch) switch(ch) case A:case a: cout”well!”;break; case B:case b: cout”good!”;break; case C:case c: cout”pass!”;break; default: cout”bad!”;break; coutendl;void main() char a6=”Abcaf”; for(int i=0;ai;i+)SB(ai);7.#includevoid main() int a8=36,25,48,14,55,40,72,40; int b1,b2; b1=b2=

4、a0; for(int i=1;ib1) if(b1b2)b2=b1; b1=ai; coutb1b2endl;8.#includevoid main() int a8=3,5,7,9,11,13,15,17; int *p=1;for(int i=0;i8;i+) coutsetw(5)*p+; if(i+1)%3=0)coutendl;9.#includevoid LG(int* & a,int& m) a=new int m; int *p=a; for(int i=0;im;i+) *p+=i*i;void main() int *b,n=5; LG(b,n); for(int i=0

5、;in;i+) coutbn-i-1; coutendl; deleteb;10.#include#includestruct Worker char name5;/姓名 int age; /年龄 float pay; /工资;void main() Worker x; char *t=”WeiRong”; int d=45;float f=1235; strcpy(x.name,t); x.age=d;x.pay=f; coutx.namex.agex.payendl;11.#includevoid main() int s=0; for(int i=1;i=5;i+) s+=i*i; co

6、ut”s=”sendl;12.#includevoid main() int s=0; for(int i=1;i+) if(s50)break; if(i%2=0)s+=i;cout”i,s=”i”,”sendl;13.#includeint LB(int *a,int n) int s=1; for(int i=0;in;i+) s*=*a+; return s;void main() int a=1,2,3,4,5,6,7,8; coutLB(a,5) LB(&a3,3) ; coutLB(a+2,4)endl;14.#includestruct Worker char name15;/

7、姓名 int age; /年龄 float pay; /工资;void main() Worker x“wangfong”,43,640; Worker y,*p; y=x;p=&x; couty.namey.agey.payendl; coutnameage*2pay+100endl;二、写出下列每个函数的功能1#includeint S(int a,int b) if(ab)return 1; else if(a=b)return 0; else return -1;2.#includebool SG(int x) /x为大于等于2的整数 int a=int(sqrt(x);/取x的平方根

8、 int i=2; while(i=a) if(x%i=0)break; i+; if(i=a)return 0;else return 1;3./ struct Worker/ char name15;/姓名/ int age; /年龄/ float pay; /工资;void Q(Worker a,int n) for(int i=0;iai.nameai.ageai.pay;4.#include#includevoid JD(char *fname) /可把以fname所指字符串作为文件标识符的文件称为fname文件 /假定该文件保存着一批整数 ifstream fin(fname,io

9、s:in|ios:nocreateios:binary) int x,s=0,n=0; while(fin.read(char*)&x,sizeof(x) s+=x;n+; coutnsfloat(s)/nx; n-;y+=x*x; while(n0); return y;6.#includevoid WA(int a,int n) for(int i=0;in-1;i+) int k=i; for(int j=i+1;jn;j+) if(ajak)k=j; int x=ai;ai=ak;ak=x; 7.#includevoid LI(int n) int *a=new intn; for(i

10、nt i=0;iai; for(i=n-1;i=0;i-)cout*(a+i); coutn; delete a;8.#include#include#includevoid JA(char *fname) /可把以fname所指字符串作为文件标识符的文件称为fname文件 ofstream fout(fname); char a20; cina; while(strcmp(a,”end”)!=0) foutaa; fout.close();9.int WC(int a,int n,int k) int c=0; for(int i=0;i=k)c+; return c;10.#include

11、int *LJ(int a,int n) int k=0; for(int i=1;iak)k=i; return &ak;11./struct DNode/ double data; /值域/ DNode *next; /指针域/;void QB(DNode* & f,int n) if(n=0)f=NULL;return; f=new DNode; cinf-data; DNode *p=f; while(-n) p=p-next=new DNode; cinp-data; p-next=NULL;12.#include#include#includeint JB(char *fname,

12、char *key) /可把以fname所指字符串作为文件标识符的文件称为fname文件, /假定该文件中保存着一批字符串,每个字符串的长度均小于20。 ifstream fin(fname); char a20; int i=0; while(fina) if(strcmp(a,key)=0)i+; fin.close(); return I;三、编程1已知6a30,15b36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2编写一个递归函数int FF(int a,int n),求出数组a中所有n个元素的平方之和并返回。3编写一个函数void

13、SelectSort(int a,int n),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果125 2025 232 1 20410 15 30 50 30 15520 40 30 606well! good! pass! well! bad!772 5583 5 7 9 11 13 15 17916 9 4 1 010WeiRong 45 123511s=5512i,s=15,5613120 120 36014wangfong 43 640 wangfong 86 740二、写出下列每个函数的功能1 比较两个整数a和b的大小,若ab则返回1,若a=

14、b则返回0,若ab则返回-1。2 判断x是否为一个质数,若是则返回1,否则返回0。3 从键盘输入n个Worker类型的记录到一维数组a中。4 从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5求出从键盘上输入的n个整数的平方和并返回。6采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7把从键盘上输入的n个整数按与输入的相反次序显示出来。8从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9统计出数组a中大于等于值为k的元素个数并返回。10求出数组a中n个元素的最大值元素,返回该元素的地址。11建立一个具有n个结点的链表,每

15、个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。三、编程1#includevoid main() int a,b; for(a=6;a=30;a+) for(b=15;b=36;b+) if(2*a+5*b=126)cout(a,b)endl;2.int FF(int a,int n) if(n=1)return an-1*an-1; else return an-1*an-1+FF(a,n-1);3.void SelectSort(int a,int n) int i,j,k; for(i=1;in;i+) k=i-1; for(j=i;jn;j+) if(ajak)k=j; int x=ai-1;ai-1=ak;ak=x;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!