读书破万卷下笔如有神第四次上机作业参考答案:1.数组转置在主函数中定义一个n(1<=n<=6)维方阵,并从键盘读入数组元素;编写函数transpose(a,n)实现数组a转置;在主函数中输出转置后的方阵。例:输入415913输出12345678261014910111237111516128161415413#include<stdio.h>#defineN6voidtranspose(inta[][N],intn);voidmain()intn,i,j;{inta[N][N];printf(Inputn(n<=6):);scanf(%d,&n);printf(Inputthearray:\n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf(%d,&a[i][j]);printf(Displaythearray:\n);for(i=0;i<n;i++)for(j=0;j<n;j++){printf(%-4d,a[i][j]);printf(\);}transpose(a,n);printf(Displaythetransposedarray:\n);for(i=0;i<n;i++)for(j=0;j<n;j++){printf(%-4d,a[i][j]);printf(\);}}voidtranspose(inta[][N],intn){inti,j,t;for(i=0;i<n;i++)for(j=0;j<i;j++)t=a[i][j];{a[i][j]=a[j][i];a[j][i]=t;读书破万卷下笔如有神}}2.学生信息编写4个函数实现下列功能:(1)函数input()输入20个学生姓名和高考总分;(2)函数sort()按高考总分从高到低的顺序排序,姓名顺序也随之调整;(3)函数display()显示学生姓名及其高考总分;(4)在主函数中输入一个姓名,编写函数search()用顺序查找方法找出该学生。若查找成功,在主函数中显示该生姓名及其高考总分;否则显示查找失败。#include<stdio.h>#include<string.h>#defineN3#defineLEN80voidinput(charname[][LEN],floats[]);voiddisplay(charname[][LEN],floats[]);voidsort(charname[][LEN],floats[]);intsearch(charname[][LEN],chars[]);voidmain(){intnum;charname[N][LEN],student[LEN];floatscore[N];input(name,score);puts(Beforesorting:);display(name,score);sort(name,score);puts(Aftersorting:);display(name,score);printf(Inputstudentnameyouwanttosearch:);fflush(stdin);gets(student);num=search(name,student);if(num==-1)puts(SearchFailure!);elseprintf(%s'sscoreis%.2f\n,student,score[num]);}voidinput(charname[][LEN],floats[])读书破万卷下笔如有神{inti;printf(Inputnameandscore:\n);for(i=0;i<N;i++){scanf(%s,name[i]);scanf(%f,&s[i]);}}voiddisplay(charname[][LEN],floats[]){inti;printf(Displaynameandscore:\n);for(i=0;i<N;i++){printf(%-10s,name[i]);printf(%.2f\n,s[i]);}}voidsort(charname[][LEN],floats[]){inti,j,k;floatt;charstring[LEN];for(i=0;i<N-1;i++){k=i;for(j=i+1;j<N;j++)if(s[j]>s[k])k=j;if(k!=i){t=s[i];s[i]=s[k];s[k]=t;strcpy(string,name[i]);strcpy(name[i],name[k]);strcpy(name[k],string);}}}intsearch(charname[][LEN],chars[]){inti;for(i=0;i<N;i++)if(strcmp(name[i],s)==0)returni;return-1;}字符串处理.3.读书破万卷下笔如有神定义两个C源程序文件:fmain.c和fstring.c。fmain.c中包含主函数,实现字符串处理功能选项和字符串的输入与结果的输出。fstring.c中包含两个函数delchar(s,c)和strrev(s),实现删除字符和字符串反转功能。delchar(s,c):在主函数中输入字符串和要删除的字符,此函数将字符串s中出现的所有c字符删除;再在主函数中输出删除后的字符串。strrev(s):在主函数中读入字符串,此函数实现将字符串s反转;再在主函数中输出反转后的字符串。SAMPLEOUTPUT:1.Reverseastring.2.Deleteacharacterinastring.Pleaseinputyourchoice:1Enterastring:holidayReversedstringis:yadilohWouldyouliketocontinue?(y/n)Y1.Reverseastring.2.Deleteacharacterinastring.Pleaseinputyourchoice:2Enterastring:oneworld,onedreamEnteracharacteryouwanttodelete:oDeletedstringis:newrld,nedreamWouldyouliketocontinue?(y/n)N/*fmain.c*/#include<stdio.h>#includee:\temp\fstring.c#defineN80voidstrreverse(chars[]);voiddelchar(chars[],charc);voidmain(){intchoice1;charchoice2,c,s[N];while(1){printf(.Reverseastring.\n);printf(.Deleteacharacterinastring.\n);读书破万卷下笔如有神printf(Pleaseinputyourchoice:);s...