【程序1】题目:将一个数组逆序输出。要求:分析程序执行过程,并画出变化过程图#defineN5main(){inta[N]={9,6,5,4,1},i,temp;printf(\noriginalarray:\n);for(i=0;iN;i++)printf(%4d,a[i]);for(i=0;iN/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf(\nsortedarray:\n);for(i=0;iN;i++)printf(%4d,a[i]);}==============================================================【程序2】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。要求:分析程序执行过程,并画出变化过程图2.程序源代码:main(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf(originalarrayis:\n);for(i=0;i10;i++)printf(%5d,a[i]);printf(\n);printf(insertanewnumber:);scanf(%d,&number);end=a[9];if(numberend)a[10]=number;else{for(i=0;i10;i++){if(a[i]number){temp1=a[i];a[i]=number;for(j=i+1;j11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i11;i++)printf(%6d,a[i]);}==============================================================【程序3】题目:求一个3*3矩阵对角线元素之和要求:分析程序执行过程,并画出变化过程图main(){floata[3][3],sum=0;inti,j;printf(pleaseinputrectangleelement:\n);for(i=0;i3;i++)for(j=0;j3;j++)scanf(%f,&a[i][j]);for(i=0;i3;i++)sum=sum+a[i][i];printf(duijiaoxianheis%6.2f,sum);}==============================================================【程序4】题目:对10个数进行排序要求:分析程序执行过程,并画出变化过程图2.程序源代码:#defineN10main(){inti,j,min,tem,a[N];/*inputdata*/printf(pleaseinputtennum:\n);for(i=0;iN;i++){printf(a[%d]=,i);scanf(%d,&a[i]);}printf(\n);for(i=0;iN;i++)printf(%5d,a[i]);printf(\n);/*sorttennum*/for(i=0;iN-1;i++){min=i;for(j=i+1;jN;j++)if(a[min]a[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;}/*outputdata*/printf(Aftersorted\n);for(i=0;iN;i++)printf(%5d,a[i]);}==============================================================【程序5】题目:创建一个链表。要求:分析程序执行过程,并画出变化过程图/*creatalist*/#includestdlib.h#includestdio.hstructlist{intdata;structlist*next;};typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head;intnum,i;ptr=(link)malloc(sizeof(node));ptr=head;printf(pleaseinput5numbers==\n);for(i=0;i=4;i++){scanf(%d,&num);ptr-data=num;ptr-next=(link)malloc(sizeof(node));if(i==4)ptr-next=NULL;elseptr=ptr-next;}ptr=head;while(ptr!=NULL){printf(Thevalueis==%d\n,ptr-data);ptr=ptr-next;}}==============================================================【程序6】题目:读结果。#includestdio.h#defineM5main(){inta[M]={1,2,3,4,5};inti,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中。#includestdio.hstructstudent{charnum[6];charname[8];intscore[3];floatavr;}stu[5];main(){inti,j,sum;FILE*fp;/*input*/for(i=0;i5;i++){printf(\npleaseinputNo.%dscore:\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+=stu[i].score[j];}stu[i].avr=sum/3.0;}fp=(stud,w);for(i=0;i5;i++)if(fwrite(&stu[i],sizeof(structstudent),1,)!=1)printf(filewriteerror\n);(fp);}==============================================================【程序8】题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。1.程序分析:2.程序源代码:#includestdio.hmain(){*fp;inti,j,n,ni;charc[160],t,ch;if((fp=(A,r))==NULL){printf(fileAcannotbeopened\n);exit(0);}printf(\nAcontentsare:\n);for(i=0;(ch=fgetc(fp))!=;i++){c[i]=ch;putchar(c[i]);}(fp);ni=i;if((fp=(B,r))==NULL){printf(fileBcannotbeopened\n);exit(0);}printf(\nBcontentsare:\n);for(i=0;(ch=fgetc(fp))!=EOF;i++){c[i]=ch;putchar(c[i]);}fclose(fp);n=i;for(i=0;in;i++)for(j=i+1;jn;j++)if(c[i]c[j]){t=c[i];c[i]=c[j];c[j]=t;}printf(\nCfileis:\n);fp=fopen(C,w);for(i=0;in;i++){putc(c[i],);putchar(c[i]);}fclose(fp);}==============================================================【程序9】题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。1.程序分析:2.程序源代码:#includestdio.hmain(){FILE*fp;charstr[100],filename[10];inti=0;if((fp=(test,w))==NULL){printf(cannotopenthefile\n);exit(0);}printf(pleaseinputastring:\n);gets(str);while(str[i]!='!'){if(str[i]='a'&&str[i]='z')str[i]=str[i]-32;(str[i],fp);i++;}(fp);fp=(test,r);fgets(str,strlen(str)+1,fp);printf(%s\n,str);fclose(fp);}==============================================================【程序10】题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。1.程序分析:2.程序源代码:#includestdio.hmain(){FILE*fp;charch,filename[10];scanf(%s,);if((fp=fopen(filename,w))==NULL){printf(cannotopenfile\n);exit(0);}ch=getchar();ch=getchar();while(ch!=){fputc(ch,fp);putchar(ch);ch=getchar();}(fp);}==============================================================【程序11】题目:给出下面程序的执行结果#includestdio.hmain(){intx=10,y=9;inta,b,c;if(--x==y++)a=--x;elsea=++y;b=x++;c=y;printf(“%d,%d,%d\n”,a,b,c);}==============================================================【程序12】题目:执行下列程序,输入为1时的输出结果是()输入为3时输出结果是()#includestdio.hmain(){intk;scanf(“%d”,&k);switch(k){case1:printf(“%d\n”,k++);case2:printf(“%d\n”,k++);case3:printf(“%d\n”,k++);case4:printf(“%d\n”,k++);default:printf(“Full!\n”);}}==============================================================【程序13】题目:以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入源文件,当键盘上输入结束时关闭该文件#includestdio.hmain(){FILE*fp;Charc;fp=()(“myfile”,());do{c=getch