C語言第四次作業(yè)解析_第1頁
C語言第四次作業(yè)解析_第2頁
C語言第四次作業(yè)解析_第3頁
C語言第四次作業(yè)解析_第4頁
C語言第四次作業(yè)解析_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第四次作業(yè):數(shù)組1 .字符篩選編寫一個程序,先輸入一個字符串strl(長度不超過20),再輸入一個單獨的字符然后程序會把字符串str當(dāng)中出現(xiàn)的所有的ch字符都刪掉,從而得到一個新的字符串然后把這個字符串打印出來。例如:輸入:字符串strl為:86符ch為:-輸出:字符串str2為:861062785001程序代碼:#include<stdio.h>#include<string.h>voidmain()inti,j=0,length;charstr121,str221,ch;printf("字符串str1為:");gets

2、(str1);printf("字符ch為:");scanf("%c",&ch);length=strlen(str1);for(i=0;i<=length;i+)if(str1i!=ch)str2j=str1i;j+;elsecontinue;puts(str2);c:*C:Progra»FilesMicrosoftVisualStudioMyProjects03Debug03.eze86符ch為:-8601062785001Pressanykeytocontinue2 .數(shù)據(jù)合并編寫一個程序,能夠輸入

3、兩個預(yù)先從小到大排列的整數(shù)型數(shù)組(假設(shè)數(shù)組長度最大為20,數(shù)組輸入時遇到數(shù)字0結(jié)束);要求將這兩個數(shù)組的數(shù)字能夠合并成為一個新的從小到大順序排列的整數(shù)型數(shù)據(jù),并將新數(shù)組輸出。例如:輸入:請輸入第一個數(shù)組:1,2,3,12,16,20,25,40,0請輸入第二個數(shù)組:4,5,6,15,18,20,21,22,25,38,45,0輸出:合并后的數(shù)組為:1,2,3,4,5,6,12,15,16,18,20,20,21,22,25,25,38,40,45/*編寫一個程序,能夠輸入兩個預(yù)先從小到大排列的整數(shù)型數(shù)組(假設(shè)數(shù)組長度最大為20,數(shù)組輸入時遇到數(shù)字0結(jié)束);要求將這兩個數(shù)組的數(shù)字能夠合并成為一個

4、新的從小到大順序排列的整數(shù)型數(shù)據(jù),并將新數(shù)組輸出。例如:輸入:請輸入第一個數(shù)組:1,2,3,12,16,20,25,40,0請輸入第二個數(shù)組:4,5,6,15,18,20,21,22,25,38,45,0輸出:合并后的數(shù)組為:1,2,3,4,5,6,12,15,16,18,20,20,21,22,25,25,38,40,45*/程序代碼:#include<stdio.h>#include<string.h>voidmain()inti,j,t,k,m,n,r;inta20,b20,c40;printf("請輸入第一個數(shù)組:");for(i=0;i+)

5、scanf("%d",&ai);m=i-1;if(ai=0)break;)printf("請輸入第二個數(shù)組:");forO=0;j+)(scanf("%d",&bj);n=j-1;if(bj=O)break;)for(i=0;i<=m;k+,i+)ck=ai;for(j=O;j<=n;k+j+)ck=bj;for(r=0;r<=m+n;r+)(for(k=0;k<=m+n;k+)if(ck>ck+1)(t=ck;ck=ck+1;ck+1=t;)for(k=0;k<=m+n;k+)pr

6、intf("%d",ck);3 .數(shù)制轉(zhuǎn)換請使用數(shù)組編寫一個程序,輸入一個二進制的字符串(長度不超過32),然后計算出相應(yīng)的十進制整數(shù),并把它打印出來。例如,輸入:請輸入二進制數(shù)字符串:111011101110111011101110輸出:對應(yīng)的十進制數(shù):15658734程序代碼:#include<stdio.h>#include<string.h>#include<math.h>voidmain()charstr32;inti,j=0,k=0;longintt=0;printf("請輸入二進制字符串:");gets(

7、str);j=strlen(str);for(i=j-1;i>=0;i-)t+=(stri-48)*pow(2,k);k+;printf("對應(yīng)的十進制數(shù):dn",t);G中0巴TerminalEmuHalwMHAS-4-tfi:I1i16加拈此力JUA#-+1<araHnmJISo7t<nni«m»»rink35m44|4 .對稱數(shù)字一輛汽車在開始出發(fā)前其里程表上的讀數(shù)是一個對稱數(shù)95859,后勻速行駛兩個小時后,發(fā)現(xiàn)里程表上是一個新的對稱數(shù)。問該新的對稱數(shù)是多少?汽車的速度是多少?注:所謂對稱數(shù)是指從左向右讀與從右向左讀完

8、全一樣的數(shù)字。請在合理的范圍內(nèi)(提示,車速別太快也不能太慢,假設(shè)介于30120公里/小時),編程解決上述問題。程序代碼:#include<stdio.h>#include<math.h>voidmain()inta5;intm=95859,i,s,v,t=2;for(v=30;v<=120;v+)s=m+v*t;for(i=0;i<=4;i+)ai=fmod(floor(s/(pow(10,i),10);if(a0=a4&&a1=a3)printf("新的對稱數(shù)為:d,速度為:dn",s,v);ca*E:49TDebug4

9、97.exe,新的對強數(shù)為:9晟5%速度為:北期的對稱數(shù)為:96酩"速度為:105Pressanykeytocontinue5 .矩陣元素的運算讀入1個正整數(shù)n(1<n<10),再讀入n*n階方陣a,計算該矩陣除副對角線、最后一列和最后一行以外的所有元素之和。(副對角線為從矩陣的右上角至左下角的連線)例:括號內(nèi)是說明,可以不輸入、不輸出。輸入:4(n=4)2341561171811111輸出:sum=35程序代碼:#include<stdio.h>voidmain()intn,i,j,sum=0;inta1010;printf("請輸入n的值:&qu

10、ot;);scanf("%d",&n);printf("請輸入n*n矩陣a:n");for(i=0;i<=n-1;i+)for(j=0;j<=n-1;j+)scanf("%d",&aij);if(i+j!=n-1&&i!=n-1&&j!=n-1)sum+=aij;)printf("sum=%dn",sum);)ca,E:49TDebug497.eze"常輸入n的值:4律輸入n*n矩陣a:2341561171811111sum=35Pressany

11、keytocontinueLd6.加法口訣表要求使用二維數(shù)組求解下列問題。(提示:將加數(shù)、被加數(shù)、和放入一個二維數(shù)組中,再輸出該數(shù)組)。輸入1個正整數(shù)n(1<n<10),輸出一張20以內(nèi)的加法口訣表.要求,該口訣表中的加數(shù)與被加數(shù)都不大于n,分別存放在該表格中的第一行和第一列.樣式例如下:括號內(nèi)是說明輸入:6(n=6)輸出:+1234561223434564567856789106789101112#include<stdio.h>voidmain()(inta1111;inti,j,n;printf("請輸入n的值:");scanf("%

12、d",&n);for(i=0;i<=n;i+)(for(j=0;j<=n;j+)(if(i=0&&j!=0)aij=j;if(i!=0&&j=0)aij=i;if(i!=0&&j!=0)aij=i+j;if(i=0&&j=0)aij=43;for(i=0;i<=n;i+)(for(j=0;j<=n;j+)(if(i!=0&&j=0)|(j!=0&&i=0)|(i!=0&&j!=0&&j<=i)(printf("

13、%4d",aij);if(i=0&&j=0)printf("%4c",aij);printf("n");7.字符與字母(綜合題)用戶通過鍵盤輸入一行文檔(假設(shè)最大長度不超過10吐字符),直到按句號“.”鍵時,輸入結(jié)束。請編程實現(xiàn)以下的功能:(1) 字母的轉(zhuǎn)換:在用戶敲鍵盤的時候,輸入的字符,如果它是大寫字母,則回顯相應(yīng)的小寫字母;如果它是小寫字母,則回顯相應(yīng)的大寫字母;其他字符,原樣回顯輸出。(2) 字符的統(tǒng)計:分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其他字符的個數(shù)。例如:輸入:(輸入時回顯)a19-YEAR-OLDSAYSHE&

14、#39;SREADYTOMAKEADIFFERENCE.(用戶實際輸入為:A19-year-oldsayshe'sreadytomakeadifference.)輸出:(用戶按句號“.”后輸出,按照規(guī)則19-year-old以及he's都被認為是一個詞)英文字母個數(shù):37空格個數(shù)為:8數(shù)字個數(shù)為:2其他字符個數(shù):4(提示,可以使用#include<conio.h>中的getch()函數(shù),該函數(shù)在鍵盤輸入時,不緩存,不回顯)程序代碼:#include<stdio.h>#include<conio.h>#include<string.h&g

15、t;#include<ctype.h>voidmain()(intletter=0,space=0,figure=0,other=0,i;charstr100;printf("請輸入字符串:n");for(i=0;i<=100;i+)(if(stri=getch()!='.')(if(isupper(stri)(printf("%c”,stri+32);letter+;elseif(islower(stri)(printf("%c",stri-32);letter+;else(printf("%c&q

16、uot;,stri);if(stri='')space+;elseif(stri>='0'&&stri<='9')figure+;elseother+;i+;elsebreak;printf(".");other+;printf("n字符d個,n空格d個,n數(shù)字d個,n其它字符djn",letter,space,figure,other);8.矩陣的初始化已知,在C語言中,函數(shù)srand()與rand()配合使用,可以生成一系列的隨機數(shù)。例如,運行下面的程序,可以生成10個0到9

17、9之間的隨機數(shù)。15:29??赒0.山口(一巴TerminalEmulator讀輜八手簡由;a19-YEAR-OLDSAYSHE,與READYIDMAKEADIFFERENCE.字符切個.空椅囂個.數(shù)字2個,其它字符4個#include<stdlib.h>#include<stdio.h>#include<time.h>intmain(void)(inti;printf("Tenrandomnumbersfrom0to99nn");srand(time(NULL);/以當(dāng)前的時間為基礎(chǔ),初始化生成隨機數(shù)的種子for(i=0;i<10

18、;i+)printf("%dn",rand()%100);/rand()以srand()為種子,隨機生成隨機數(shù)return0;對于一個m*n階的整數(shù)型矩陣進行初始化。要求:用戶鍵盤輸入矩陣的階,m與n(m,n在015之間如輸入m=12,n=8);請使用上面樣例提供的隨機數(shù)生成函數(shù),用0m*n之間的隨機數(shù)分別初始化該矩陣元素;在屏幕上輸出該矩陣。程序代碼:#include<stdlib.h>#include<stdio.h>#include<time.h>voidmain()(inta1515;inti,j,m,n;printf("

19、;請輸入m,n的值:");scanf("%d,%d",&m,&n);srand(time(NULL);for(i=0;i<m;i+)(for(j=0;j<n;j+)(aij=rand()%m*n;printf("輸出一個隨機的m*n矩陣:n");for(i=0;i<m;i+)(for(j=0;j<n;j+)()printf("n");)9.大數(shù)求和(選作)如你所知,在C語言中,基本數(shù)據(jù)類型中數(shù)的表示范圍有限(如整數(shù)范圍不很大)。如何求兩個很大的整數(shù)(假設(shè)整數(shù)為50位)之和,需要采取其他方法。請編程實現(xiàn)兩個大數(shù)求和的功能。例如:輸入:數(shù)1:112233445566778899數(shù)2:998877665544332211輸出:和為:1111111111111111110程序代碼:#include<stdio.h>#inc

溫馨提示

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

評論

0/150

提交評論