c語言第四次上機作業參考答案_第1頁
c語言第四次上機作業參考答案_第2頁
c語言第四次上機作業參考答案_第3頁
c語言第四次上機作業參考答案_第4頁
c語言第四次上機作業參考答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四次上機作業參考答案:1.數組轉置在主函數中定義一個n(1<=n<=6)維方陣,并從鍵盤讀入數組元素;編寫函數transpose(a,n)實現數組a轉置;在主函數中輸出轉置后的方陣。例:輸入412345678910111213141516輸出15926103711481213141516#include<stdio.h>#defineN6voidtranspose(intaN,intn);voidmain()intn,i,j;intaNN;printf("Inputn(n<=6):");scanf("%d",&n)

2、;printf("Inputthearray:'n");for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d",&aij);printf("Displaythearray:'n");for(i=0;i<n;i+)for(j=0;j<n;j+)printf("%-4d",aij);printf("n");transpose(a,n);printf("Displaythetransposedarray:'n&

3、quot;);for(i=0;i<n;i+)for(j=0;j<n;j+)printf("%-4d",aij);printf("'n");voidtranspose(intaN,intn)inti,j,t;for(i=0;i<n;i+)for(j=0;j<i;j+)a皿尸a皿i;a皿i=t;2.學生信息t=aij編寫4個函數實現下列功能:(1) 函數input()輸入20個學生姓名和高考總分;(2) 函數sort()按高考總分從高到低的順序排序,姓名順序也隨之調整;(3) 函數display。顯示學生姓名及其高考總分;(4

4、) 在主函數中輸入一個姓名,編寫函數search()用順序查找方法找出該學生。若查找成功,在主函數中顯示該生姓名及其高考總分;否則顯示查找失敗。# include<stdio.h># include<string.h># defineN3# defineLEN80voidinput(charnameLEN,floats);voiddisplay(charnameLEN,floats);voidsort(charnameLEN,floats);intsearch(charnameLEN,chars);voidmain()# intnum;charnameNLEN,stud

5、entLEN;floatscoreN;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!

6、");elseprintf("%s'sscoreis%.2fn",student,scorenum);voidinput(charnameLEN,floats)inti;printf("lnputnameandscore:n");for(i=0;i<N;i+)scanf("%s",namei);scanf("%f",&si);voiddisplay(charnameLEN,floats)inti;printf("Displaynameandscore:n");fo

7、r(i=0;i<N;i+)printf("%-10s",namei);printf("%.2fn",si);voidsort(charnameLEN,floats)inti,j,k;floatt;charstringLEN;for(i=0;i<N-1;i+)k=i;for(j=i+1;j<N;j+)if(sj>sk)k=j;if(k!=i)t=si;si=sk;sk=t;strcpy(string,namei);strcpy(namei,namek);strcpy(namek,string);intsearch(charnameL

8、EN,chars)inti;for(i=0;i<N;i+)if(strcmp(namei,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反轉;再在主函數

9、中輸出反轉后的字符串。SAMPLEOUTPUT:1. Reverseastring.2. Deleteacharacterinastring.Pleaseinputyourchoice:1Enterastring:holidayReversedstringis:yadilohWouldyouliketocontinue?(y/n)Y1. Reverseastring.2. Deleteacharacterinastring.Pleaseinputyourchoice:2Enterastring:oneworld,onedreamEnteracharacteryouwanttodelete:oD

10、eletedstringis:newrld,nedreamWouldyouliketocontinue?(y/n)N/*fmain.c*/#include<stdio.h>#include"e:tempfstring.c"#defineN80voidstrreverse(chars);voiddelchar(chars,charc);voidmain()intchoice1;charchoice2,c,sN;while(1)printf("1.Reverseastring.n");printf("2.Deleteacharacter

11、inastring.n");printf("Pleaseinputyourchoice:");seanf("%d",&choice1);switch(choicel)case1:printf("Enterastring:");fflush(stdin);gets(s);strreverse(s);case 2:printf("Reversed string isprintf("Enter a string:");:");puts(s);fflush(stdin); gets(s

12、);printf("Enteracharacteryouwanttodelete:");fflush(std in); delchar(s,c);c=getchar();printf("Deleted string is:");puts(s);break;printf("Wouldyouliketocontinue?(y/n)");fflush(stdin);choice2=getchar();if(choice2='N'|choice2='n')break;/*fstring.c*/#include&

13、lt;string.h>voidstrreverse(chars口)inti,j;chart;j=strlen(s);j-;for(i=O;i<j;i+,j-)t=si;si=sj;sj=t;voiddelchar(chars,charc)inti,j;chartemp80;for(i=O,j=O;si!='O')if(si!=c)tempj+=si+;elsei+;tempj='0'for(i=0;tempi!='0'i+)si=tempi;si='0'4.分別用函數和帶參數的宏,從三個數中找出最大數/*函數方式實現*/#include<stdio.h>intmax(inta,intb,intc);voidmain()inta,b,c;printf("Input3integers:n");scanf("%d%d%d",&a,&b,&c);printf("Maxof%d,%d,%dis%dn",a,b,c,max(a,b,c);intmax(inta,intb,intc)intt;t=a<b?a:b;returnt>c?t:c;/*帶參數的宏方式實現*/#include<stdio.h>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論