《C程序設計》譚浩強10.3—10.6習題答案_第1頁
《C程序設計》譚浩強10.3—10.6習題答案_第2頁
《C程序設計》譚浩強10.3—10.6習題答案_第3頁
《C程序設計》譚浩強10.3—10.6習題答案_第4頁
《C程序設計》譚浩強10.3—10.6習題答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C程序設計(第三版) 譚浩強 著10.3 輸入10個整數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。寫三個函數(shù):、輸入10個數(shù);、進行處理;、輸出10個數(shù)。提示:本程序是個人所編寫,并非本書答案。/*-*/* 程序源代碼 */*-*/* C程序設計 */* 編寫人:小陸果 編寫時間:2016/3/27 */*-*/#include#define Max 10/*定義數(shù)組大小為10*/*輸入函數(shù)*/void input(int *num)int *p;printf(請輸入10個整數(shù):);for(p=num;p(num+Max);p+)scanf(%d,p);/*處理函數(shù)*/voi

2、d change(int *num)int *p;int *q=num;int temp;for(p=num;pnum+Max;p+)if(*p*q)/*當前數(shù)小于第一個數(shù)*/ temp=*p;/* */ *p=*q;/* 交 換 */ *q=temp;/* */ q=p-1;/*指向數(shù)組最后一個數(shù)*/for(p=num;p*q)/*當前數(shù)大于最后一個數(shù)*/ temp=*p;/* */ *p=*q;/* 交 換 */ *q=temp;/* */*輸出函數(shù)*/void output(int *num)int *p;printf(新序列為:);for(p=num;p(num+Max);p+)pri

3、ntf(%-3d,*p);printf(n);/*主函數(shù)*/void main()int numMax;input(num); /*輸入函數(shù)調用*/change(num); /*處理函數(shù)調用*/output(num); /*輸出函數(shù)調用*/運行結果:C程序設計(第三版) 譚浩強 著10.4 有n個整數(shù),使前面各數(shù)順序向后移動m個位置,最后m個數(shù)變成最前面m個數(shù),見圖10-47.寫一函數(shù)實現(xiàn)以上功能,在主函數(shù)中輸入n個整數(shù)和輸出調整后的n個數(shù)。圖 10-47提示:本程序是個人所編寫,并非本書答案。/*-*/* 程序源代碼 */*-*/* C程序設計 */* 編寫人:小陸果 編寫時間:2016/3

4、/27 */*-*/#include#define Max 20/*定義數(shù)組大小為20*/*調整函數(shù)*/void fun(int *num,int n,int m)int *p,*q;int *s=(num+n-1);/*指針s指向數(shù)組最后一個數(shù)值*/int p0,i,j;for(i=0;im;i+)/*以移動位置大小m進行循環(huán)*/p=(num+n-1);/*指針p指向數(shù)組最后一個值*/ /每次循環(huán)完畢進行復位q=(num+n-2);/*指針q指向數(shù)組倒數(shù)第二個值*/ /每次循環(huán)完畢進行復位p0=*s;/*保存數(shù)組最后一個的值*/for(j=0;jn-1;j+)/*用p,q進行數(shù)據(jù)移動,騰出數(shù)

5、組第一個空位*/*p=*q;p-;q-;*p=p0;/*把保存的數(shù)放在空位中*/*主函數(shù)*/void main()int numMax;int i,n,m;printf(輸入整數(shù)的個數(shù)n=);scanf(%d,&n);printf(-n);for(i=0;in;i+)printf(第%d個整數(shù):,i+1);scanf(%d,&numi);printf(n輸入后移的位置數(shù)m=);scanf(%d,&m);printf(n原整數(shù)序列:);for(i=0;in;i+)printf(%-4d,numi);printf(n);fun(num,n,m);/*調用調整函數(shù)*/printf(現(xiàn)整數(shù)序列:);f

6、or(i=0;in;i+)printf(%-4d,numi);printf(n);運行結果:C程序設計(第三版) 譚浩強 著10.5 有n個人圍成一圈,順序排號。從第一1個人開始報數(shù)(1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。提示:本程序是個人所編寫,并非本書答案。/*-*/* 程序源代碼 */*-*/* C程序設計 */* 編寫人:小陸果 編寫時間:2016/3/27 */*-*/#include#define Max 100/*定義數(shù)組大小為100*/*輸出函數(shù)*/void output(int *queue,int n)int i;for(i=0;in;i+)p

7、rintf(%-5d,queuei);printf(n);/*淘汰函數(shù)*/void out(int *queue,int n)/*已標記0表示為出局*/int i,count=0;int n0,round=0;/*round記錄輪次*/int *p=queue;n0=n;while(n0!=1)/*n0控制循環(huán),留下最后一個人*/if(*p!=0)/*當前人是否沒有標記出局*/count+;/是 /*報數(shù)+1*/if(count=3)/*報數(shù)是否到3*/*p=0;/是 /*把當前者標記為出局*/count=0;n0-;/*總人數(shù)-1*/printf(第%d輪:,+round);output(q

8、ueue,n);p+;/*輪到下一個人報數(shù)*/elsep+;/否 /*當前者為出局者,輪到下一個人報數(shù)*/if(p=queue+n)/*輪完一圈,重新開始*/p=queue;printf(最后留下的人為:);for(i=0;in;i+)if(queuei!=0)printf(%d號,queuei);printf(n);/*主函數(shù)*/void main()int i,n;int queueMax;printf(輸入人數(shù)n=);scanf(%d,&n);printf(n%d個人排號為:,n);for(i=0;in;i+)queuei=i+1;printf(%-4d,queuei);printf(n

9、n);out(queue,n);/*調用淘汰函數(shù)*/運行結果:C程序設計(第三版) 譚浩強 著10.6 寫一函數(shù),求一個字符串的長度。在main函數(shù)中輸入字符串,并輸出其長度。提示:本程序是個人所編寫,并非本書答案。/*-*/* 程序源代碼 */*-*/* C程序設計 */* 編寫人:小陸果 編寫時間:2016/3/27 */*-*/#include#define Max 1000/*定義數(shù)組大小為1000*/*字符串計數(shù)函數(shù)(不計空格)*/int mystrlen(char *string)int sum=0;while(*string!=0)if(*string!= )sum+;string+;return sum;/*主函數(shù)*/void main()

溫馨提示

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

評論

0/150

提交評論