c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2

上传人:xins****2008 文档编号:111281075 上传时间:2019-11-02 格式:DOC 页数:25 大小:105.50KB
返回 下载 相关 举报
c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2_第1页
第1页 / 共25页
c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2_第2页
第2页 / 共25页
c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2_第3页
第3页 / 共25页
c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2_第4页
第4页 / 共25页
c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2》由会员分享,可在线阅读,更多相关《c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2(25页珍藏版)》请在金锄头文库上搜索。

1、【程序1】题目:将一个数组逆序输出。要求:分析程序执行过程,并画出变化过程图#define N 5main() int aN=9,6,5,4,1,i,temp;printf(n original array:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf(n sorted array:n);for(i=0;iN;i+)printf(%4d,ai);=【程序2】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。要求:分析程序执行过程,并画出变化过程图

2、2.程序源代码:main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(original array is:n);for(i=0;iend)a10=number;elsefor(i=0;inumber)temp1=ai;ai=number;for(j=i+1;j11;j+)temp2=aj;aj=temp1;temp1=temp2;break;for(i=0;i11;i+)printf(%6d,ai);=【程序3】题目:求一个3*3矩阵对角线元素之和 要求:分析程序执行过程,并画出变化过程图m

3、ain()float a33,sum=0;int i,j;printf(please input rectangle element:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%f,&aij);for(i=0;i3;i+)sum=sum+aii;printf(duijiaoxian he is %6.2f,sum);=【程序4】题目:对10个数进行排序要求:分析程序执行过程,并画出变化过程图 2.程序源代码:#define N 10main()int i,j,min,tem,aN;/*input data*/printf(please input ten num

4、:n);for(i=0;iN;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);for(i=0;iN;i+)printf(%5d,ai);printf(n);/*sort ten num*/for(i=0;iN-1;i+)min=i;for(j=i+1;jaj) min=j;tem=ai;ai=amin;amin=tem;/*output data*/printf(After sorted n);for(i=0;in);for(i=0;idata=num;ptr-next=(link)malloc(sizeof(node);if(i=4) ptr-next=N

5、ULL;else ptr=ptr-next;ptr=head;while(ptr!=NULL) printf(The value is =%dn,ptr-data);ptr=ptr-next;=【程序6】题目:读结果。#include stdio.h#define M 5main()int aM=1,2,3,4,5;int i,j,t;i=0;j=M-1;while(iJ)t=*(a+i);*(a+i)=*(a+j);*(a+j)=t;i+;j-;for(i=0;iM;I+)printf(%d,*(a+i);=【程序7】题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,

6、姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件stud中。#include stdio.hstruct student char num6;char name8;int score3;float avr; stu5;main()int i,j,sum;FILE *fp;/*input*/for(i=0;i5;i+) printf(n please input No. %d score:n,i);printf(stuNo:);scanf(%s, );printf(name:);scanf(%s, );sum=0;for(j=0;j3;j+) printf(sco

7、re %d.,j+1);scanf(%d, );sum+=stui.scorej;stui.avr=sum/3.0;fp= (stud,w);for(i=0;i5;i+)if(fwrite(&stui,sizeof(struct student),1, )!=1)printf(file write errorn); (fp);=【程序8】题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。1.程序分析:2.程序源代码:#include stdio.hmain() *fp;int i,j,n,ni;char c160,t,ch;if

8、(fp= (A,r)=NULL)printf(file A cannot be openedn);exit(0);printf(n A contents are :n);for(i=0;(ch=fgetc(fp)!= ;i+)ci=ch;putchar(ci); (fp);ni=i;if(fp= (B,r)=NULL)printf(file B cannot be openedn);exit(0);printf(n B contents are :n);for(i=0;(ch=fgetc(fp)!=EOF;i+)ci=ch;putchar(ci);fclose(fp);n=i;for(i=0;in;i+)for(j=i+1;jcj)t=ci;ci=cj;cj=t;printf(n C file is:n);fp=fopen(C,w);for(i=0;i=a&stri=z)stri=stri-32; (stri,fp);i+; (fp);fp= (test,r);fgets(str,strlen(str)+1,fp);printf(%sn,str);fclose(fp);=【程序1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号