资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
【程序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.程序源代码: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矩阵对角线元素之和 要求:分析程序执行过程,并画出变化过程图main()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: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=NULL;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门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件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(score %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(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
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号