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

下載本文檔

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

文檔簡(jiǎn)介

1、第四次作業(yè):數(shù)組1 .字符篩選編寫一個(gè)程序,先輸入一個(gè)字符串strl(長(zhǎng)度不超過20),再輸入一個(gè)單獨(dú)的字符然后程序會(huì)把字符串str當(dāng)中出現(xiàn)的所有的ch字符都刪掉,從而得到一個(gè)新的字符串然后把這個(gè)字符串打印出來。例如:輸入:字符串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ù)合并編寫一個(gè)程序,能夠輸入

3、兩個(gè)預(yù)先從小到大排列的整數(shù)型數(shù)組(假設(shè)數(shù)組長(zhǎng)度最大為20,數(shù)組輸入時(shí)遇到數(shù)字0結(jié)束);要求將這兩個(gè)數(shù)組的數(shù)字能夠合并成為一個(gè)新的從小到大順序排列的整數(shù)型數(shù)據(jù),并將新數(shù)組輸出。例如:輸入:請(qǐng)輸入第一個(gè)數(shù)組:1,2,3,12,16,20,25,40,0請(qǐng)輸入第二個(gè)數(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/*編寫一個(gè)程序,能夠輸入兩個(gè)預(yù)先從小到大排列的整數(shù)型數(shù)組(假設(shè)數(shù)組長(zhǎng)度最大為20,數(shù)組輸入時(shí)遇到數(shù)字0結(jié)束);要求將這兩個(gè)數(shù)組的數(shù)字能夠合并成為一個(gè)

4、新的從小到大順序排列的整數(shù)型數(shù)據(jù),并將新數(shù)組輸出。例如:輸入:請(qǐng)輸入第一個(gè)數(shù)組:1,2,3,12,16,20,25,40,0請(qǐng)輸入第二個(gè)數(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("請(qǐng)輸入第一個(gè)數(shù)組:");for(i=0;i+)

5、scanf("%d",&ai);m=i-1;if(ai=0)break;)printf("請(qǐng)輸入第二個(gè)數(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)換請(qǐng)使用數(shù)組編寫一個(gè)程序,輸入一個(gè)二進(jìn)制的字符串(長(zhǎng)度不超過32),然后計(jì)算出相應(yīng)的十進(jìn)制整數(shù),并把它打印出來。例如,輸入:請(qǐng)輸入二進(jìn)制數(shù)字符串:111011101110111011101110輸出:對(duì)應(yīng)的十進(jìn)制數(shù):15658734程序代碼:#include<stdio.h>#include<string.h>#include<math.h>voidmain()charstr32;inti,j=0,k=0;longintt=0;printf("請(qǐng)輸入二進(jìn)制字符串:");gets(

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

8、全一樣的數(shù)字。請(qǐng)?jiān)诤侠淼姆秶鷥?nèi)(提示,車速別太快也不能太慢,假設(shè)介于30120公里/小時(shí)),編程解決上述問題。程序代碼:#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("新的對(duì)稱數(shù)為:d,速度為:dn",s,v);ca*E:49TDebug4

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

10、ot;);scanf("%d",&n);printf("請(qǐng)輸入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ù)、和放入一個(gè)二維數(shù)組中,再輸出該數(shù)組)。輸入1個(gè)正整數(shù)n(1<n<10),輸出一張20以內(nèi)的加法口訣表.要求,該口訣表中的加數(shù)與被加數(shù)都不大于n,分別存放在該表格中的第一行和第一列.樣式例如下:括號(hào)內(nèi)是說明輸入:6(n=6)輸出:+1234561223434564567856789106789101112#include<stdio.h>voidmain()(inta1111;inti,j,n;printf("請(qǐng)輸入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è)最大長(zhǎng)度不超過10吐字符),直到按句號(hào)“.”鍵時(shí),輸入結(jié)束。請(qǐng)編程實(shí)現(xiàn)以下的功能:(1) 字母的轉(zhuǎn)換:在用戶敲鍵盤的時(shí)候,輸入的字符,如果它是大寫字母,則回顯相應(yīng)的小寫字母;如果它是小寫字母,則回顯相應(yīng)的大寫字母;其他字符,原樣回顯輸出。(2) 字符的統(tǒng)計(jì):分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。例如:輸入:(輸入時(shí)回顯)a19-YEAR-OLDSAYSHE&

14、#39;SREADYTOMAKEADIFFERENCE.(用戶實(shí)際輸入為:A19-year-oldsayshe'sreadytomakeadifference.)輸出:(用戶按句號(hào)“.”后輸出,按照規(guī)則19-year-old以及he's都被認(rèn)為是一個(gè)詞)英文字母?jìng)€(gè)數(shù):37空格個(gè)數(shù)為:8數(shù)字個(gè)數(shù)為:2其他字符個(gè)數(shù):4(提示,可以使用#include<conio.h>中的getch()函數(shù),該函數(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("請(qǐng)輸入字符串: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個(gè),n空格d個(gè),n數(shù)字d個(gè),n其它字符djn",letter,space,figure,other);8.矩陣的初始化已知,在C語(yǔ)言中,函數(shù)srand()與rand()配合使用,可以生成一系列的隨機(jī)數(shù)。例如,運(yùn)行下面的程序,可以生成10個(gè)0到9

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論