全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言南開(kāi)100道分類(lèi)提綱版附答案_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言南開(kāi)100道分類(lèi)提綱版附答案_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言南開(kāi)100道分類(lèi)提綱版附答案_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言南開(kāi)100道分類(lèi)提綱版附答案_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言南開(kāi)100道分類(lèi)提綱版附答案_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、素?cái)?shù): 1 34 55 64 66 821: 將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組xx傳回34:選出100以上1000之內(nèi)所有個(gè)位數(shù)字與十位數(shù)字之和被10除所得余數(shù)恰是百位數(shù)字的素?cái)?shù)55:求出300個(gè)四位數(shù)是素?cái)?shù)的個(gè)數(shù),并從小到大進(jìn)行排序64:找出所有100以內(nèi)(含100)滿足I,I+4,I+10都是素?cái)?shù)的整數(shù)I(I+10也在100以內(nèi))的個(gè)數(shù)以及這些I之和66:計(jì)算500-800內(nèi)素?cái)?shù)的個(gè)數(shù),按從大到小順序計(jì)算其間隔加、減之和82:求出300個(gè)四位數(shù)是素?cái)?shù)的個(gè)數(shù),再求出所有滿足此條件的四位數(shù)平均值pjz1以及不滿足此條件的四位數(shù)平均值pjz2二、結(jié)構(gòu)體操作: 7 13 38 12 32

2、 42 31 47 61 99 60 757: 按產(chǎn)品代碼從大到小進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從大到小進(jìn)行排列13:按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相等,則按金額從大到小進(jìn)行排列38:按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從小到大進(jìn)行排列12:按產(chǎn)品名稱(chēng)從小到大進(jìn)行排列,若產(chǎn)品名稱(chēng)相等,則按金額從小到大進(jìn)行排列32:按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列,若產(chǎn)品名稱(chēng)相等,則按金額從小到大進(jìn)行排列42:按產(chǎn)品名稱(chēng)從大到小進(jìn)行排列,若產(chǎn)品名稱(chēng)相等,則按金額從大到小進(jìn)行排列31:按金額從大到小進(jìn)行排列,若金額相同,則按產(chǎn)品代碼從大到小進(jìn)行排列47:按金額從大到小進(jìn)行排列,若金額相等,則

3、按產(chǎn)品代碼從小到大進(jìn)行排列61:按金額從小到大進(jìn)行排列,若金額相同,則按產(chǎn)品代碼從大到小進(jìn)行排列99:按金額從小到大進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大進(jìn)行排列60: 有200組數(shù)據(jù),每組有3個(gè)數(shù),每個(gè)數(shù)均是三位數(shù),找出條件為每組中第二個(gè)數(shù)大于第一個(gè)數(shù)加第三 個(gè)數(shù)的之和,存入結(jié)構(gòu)數(shù)組bb中,再對(duì)bb中的數(shù)據(jù)按照每組數(shù)據(jù)的第二個(gè)數(shù)加第三個(gè)之和的大小進(jìn)行 降序排列75: 有200組數(shù)據(jù),每組有3個(gè)數(shù),每個(gè)數(shù)均是三位數(shù),找出條件為每組中第一個(gè)數(shù)大于第二個(gè)數(shù)加第三個(gè) 數(shù)的和,存入結(jié)構(gòu)數(shù)組bb中,再對(duì)bb中的數(shù)據(jù)按照每組數(shù)據(jù)的第一個(gè)數(shù)加第三個(gè)之和的大小進(jìn)行升序 排列 if(aai.x1>(a

4、ai.x2+aai.x3) bbcnt+=aai; if(bbi.x1+bbi.x3>bbj.x1+bbj.x3) xy=bbi; bbi=bbj; bbj=xy;三、字符替換與移位: 8 36 56 62 98 95 96 18 37 97 10 73 11 63 16 100 74 178: f(p)值小于等于32或大于130,則該字符不變36:f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是數(shù)字0至9,則該字符不變56:f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是小寫(xiě)字母,則該字符不變62:f(p)值小于等于32或其ASCII值是偶數(shù),則該字符不變98:f(p)值小于等于32或其ASC

5、II值是奇數(shù),則該字符不變95:f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是大寫(xiě)字母,則該字符不變96:f(p)值小于等于32或f(p)對(duì)應(yīng)的字符是小寫(xiě)字母,則該字符不變18:原字符的ASCII值是偶數(shù)或計(jì)算后f(p)值小于等于32,則該字符不變37:原字符是大寫(xiě)字母或計(jì)算后f(p)值小于等于32,則該字符不變97:原字符是數(shù)字字符0至9或計(jì)算后f(p)值小于等于32,則該字符不變10:把字符串中的所有小寫(xiě)字母改寫(xiě)成該字母的下一個(gè)字母,如果是字母z,則改寫(xiě)成字母a73:把字符串中的所有小寫(xiě)字母改寫(xiě)成該字母的上一個(gè)字母,如果是字母a,則改寫(xiě)成字母z11:把s字符串中的所有字母改寫(xiě)成該字母的下一個(gè)

6、字母,字母z改寫(xiě)成字母a (指針)63:把s字符串中的所有字符左移一個(gè)位置,串中的第一個(gè)字符移到最后 (指針)16:把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值74:把字符串中所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,則原字符保持不變,否則就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符100:把字符串中的最后一個(gè)字符的ASCII值右移4位后加最后第二個(gè)字符的ASCII值,得到最后一個(gè)新的字符,第一個(gè)字符的ASCII值加原最后一個(gè)字符的ASCII值,得到第一個(gè)新的字符17:第

7、一個(gè)字符加第二個(gè)字符=新字符,最后逆排序 strrev(xxi);四、字符串位置倒置: 33:把字符串中所有小寫(xiě)字母o左邊的字符串內(nèi)容移到該串的右邊存放,然后把小寫(xiě)字母o刪除,余下的字符串內(nèi)容移到已處理字符串的左邊存放五、字符串單詞倒置: 44:對(duì)行中以空格或標(biāo)點(diǎn)符號(hào)為分隔的所有單詞進(jìn)行倒排.最后把已處理的字符串(應(yīng)不含標(biāo)點(diǎn)符號(hào))仍按行重新存入字符串?dāng)?shù)組xx中六、字符串左右排序交換: 44 50 7144: 從字符串中間一分為二,左邊部分按字符的ASCII值降序排序,排序后左邊部分與右邊部分進(jìn)行交換,如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加處理,字符仍放在原位置上50: 從字符串中間一分為

8、二,左邊部分按字符的ASCII值升序排序,排序后左邊部分與右邊部分進(jìn)行交換,如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加處理,字符仍放在原位置上71:從字符串中間一分為二,左邊部分按字符的ASCII值降序排序,右邊部分按字符的ASCII值升序排序,如果原字符串長(zhǎng)度為奇數(shù),則最中間的字符不參加排序,字符仍放在原位置上七、字符串排序: 9 88 439: 對(duì)字符按從大到小的順序進(jìn)行排序88:對(duì)字符按從小到大的順序進(jìn)行排序43:對(duì)字符串變量的下標(biāo)為奇數(shù)的字符按其ASCII值從小到大的順序進(jìn)行排序八、單詞個(gè)數(shù)統(tǒng)計(jì): 1919:統(tǒng)計(jì)一個(gè)長(zhǎng)度為2的子字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)九、Fibonacci數(shù)

9、列: 2020: 求Fibonacci數(shù)列中大于t的最小的一個(gè)數(shù) while(fn<=t) . return fn;十、迭代方法求方程: 21 do.while(fabs(x0-x1)>=0.000001);十一、平方根: 2222: 求n以內(nèi)(不包括n)同時(shí)能被3與7整除的所有自然數(shù)之和的平方根s return sqrt(s);十二、實(shí)數(shù)運(yùn)算: 2323: 求出N個(gè)實(shí)數(shù)的平均值aver,以及實(shí)數(shù)的整數(shù)部分之和sumint以及小數(shù)部分之和sumdec十三、完全平方數(shù): 2424: 100至999中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中,它既是完全平方數(shù),又是兩位數(shù)字相同 for

10、(j=10;j*j<=i;j+) if(i=j*j&&(bw=sw|sw=gw|gw=bw) bbcnt+=i; return cnt;十四、回文數(shù): 25 ltoa(n,xy,10);25: 尋找并輸出11至999之間的數(shù)m,它滿足m,m2和m3均為回文數(shù)十五、整數(shù)排序: 2 5 6 14 30 45 46 902: 把四位數(shù)各位上均是0或2或4或6或8的數(shù)從大到小的順序存入數(shù)組b中5: 按每個(gè)數(shù)的后三位的大小進(jìn)行升序排列,如果后三位的數(shù)值相等,按原先的數(shù)值進(jìn)行降序排列6: 降序 , 升序14: 如果該四位數(shù)連續(xù)大于該四位數(shù)以后的五個(gè)數(shù)且該數(shù)是奇數(shù),把這些四位數(shù)按從小到

11、大的順序存入數(shù)組b中 for(j=i+1;j<=i+5;j+) if(ai>aj&&ai%2) flag=1; else flag=0;break;30: 小于 偶數(shù), 從小到大45: 大于該四位數(shù)以前 偶數(shù), 從大到小46: 大于 奇數(shù),且該數(shù)必須能被7整除,把這些四位 數(shù)按從大到小的順序存入數(shù)組b中 for(j=i-5;j<i;j+) if(ai>aj&&ai%2&&ai%7=0) flag=1; else flag=0;break;90: 將一正整數(shù)序列K1,K2,.,K9重新排列成一個(gè)新的序列.新序列中,比K1小的

12、數(shù)都在K1的前面,比K1大的數(shù)都在K1的后面十六、整數(shù)統(tǒng)計(jì)運(yùn)算: 26 70 40 65 91 94 92 7926: 求出正整數(shù)totNum個(gè)數(shù)以及這些數(shù)右移1位后產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個(gè)數(shù)totCnt和滿足此條件的這些數(shù)(右移前的值)的算術(shù)平均值totPjz70: 求出正整數(shù)totNum個(gè)數(shù)以及這些數(shù)右移1位后產(chǎn)生的新數(shù)是奇數(shù)的數(shù)的個(gè)數(shù)totCnt和滿足此條件的這些數(shù)(右移前的值)的算術(shù)平均值totPjz40: 求出正整數(shù)totNum個(gè)數(shù)以及這些數(shù)各位數(shù)字之和是偶數(shù)的數(shù)的個(gè)數(shù)totCnt和滿足此條件的這些數(shù)的算術(shù)平均值totPjz65: 求出正整數(shù)totNum個(gè)數(shù)以及這些數(shù)各位數(shù)字之和是奇

13、數(shù)的數(shù)的個(gè)數(shù)totCnt和滿足此條件的這些數(shù)的算術(shù)平均值totPjz91: 200個(gè)整數(shù),求出奇數(shù)的個(gè)數(shù)cnt1和偶數(shù)的個(gè)數(shù)cnt2以及數(shù)組下標(biāo)為偶數(shù)的元素值的算術(shù)平均值pj(保留2位小數(shù))94: 200個(gè)整數(shù),求出奇數(shù)的個(gè)數(shù)cnt1和偶數(shù)的個(gè)數(shù)cnt2以及數(shù)組xx中值為偶數(shù)的算術(shù)平均值pj(保留2位小數(shù))92: 200個(gè)整數(shù),求出最大數(shù)max及最大數(shù)的個(gè)數(shù)cnt和數(shù)組xx中能被3整除或能被7整除的算術(shù)平均值pj(保留2位小數(shù))79: 求出1到1000之內(nèi)能被7或11整除但不能同時(shí)被7或11整除的所有整數(shù)放在數(shù)組a中,并通過(guò)n返回這些數(shù)的個(gè)數(shù) (指針) if(i%7=0&&i%

14、11|i%7&&i%11=0) a(*n)+=i;十七、整數(shù)各位數(shù)字運(yùn)算: 68 15 78 69 85 77 89 27 53 48 54 49 80 81 87 6768: 200個(gè)四位數(shù),如果四位數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從大到小的順序存入數(shù)組b中 if(thou&&thou%2&&hun%2&&ten%2&&data%2)15: 200個(gè)四位數(shù),若一個(gè)四位數(shù)的千位數(shù)字上的值小于等于百位數(shù)字上的值,百位數(shù)字上的值小于等于十位數(shù)字上的值,以及十位數(shù)字上的值小于等于個(gè)位

15、數(shù)字上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中78: 200個(gè)四位數(shù),若一個(gè)四位數(shù)的千位數(shù)字上的值大于等于百位數(shù)字上的值,百位數(shù)字上的值大于等于十位數(shù)字上的值,以及十位數(shù)字上的值大于等于個(gè)位數(shù)字上的值,并且原四位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中69: 200個(gè)四位數(shù),把一個(gè)四位數(shù)的千位數(shù)字上的值減去百位數(shù)字上的值再減去十位數(shù)字上的值最后減去個(gè)位數(shù)字上的值,如果得出的值大于等于零且原四位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中 if(thou-hu

16、n-ten-data>=0& &ai%2) bcnt+=ai;85: 200個(gè)四位數(shù),把一個(gè)四位數(shù)的個(gè)位數(shù)字上的值減去千位數(shù)字上的值再減去百位數(shù)字上的值最后減去十位數(shù)字上的值,如果得出的值大于等于零且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中 if(data-thou-hun-ten>=0& &ai%2=0) bcnt+=ai;77: 200個(gè)四位數(shù),把一個(gè)四位數(shù)的千位數(shù)字上的值加上十位數(shù)字上的值恰好等于百位數(shù)字上的值加上個(gè)位數(shù)字上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從

17、小到大的順序存入數(shù)組b中 if(thou+ten=hun+data)&&ai%2=0) bcnt+=ai;89: 200個(gè)四位數(shù),把一個(gè)四位數(shù)的千位數(shù)字上的值加上個(gè)位數(shù)字上的值恰好等于百位數(shù)字上的值加上十位數(shù)字上的值,并且原四位數(shù)是奇數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中 if(qw+gw)=(sw+bw)&&ai%2) bcnt+=ai;27: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排

18、序53: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序48: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序54: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序49: 300個(gè)四位數(shù),求出千位數(shù)上

19、的數(shù)減百位數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt,再求出所有滿足此條件的四位數(shù)平均值pjz1,以及不滿足此條件的四位數(shù)平均值pjz280: 300個(gè)四位數(shù),求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt,再求出所有滿足此條件的四位數(shù)平均值pjz1,以及不滿足此條件的四位數(shù)平均值pjz281: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)加百位數(shù)等于十位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)的個(gè)數(shù)cnt,再求出所有滿足此條件的四位數(shù)平均值pjz1,以及不滿足此條件的四位數(shù)平均值pjz287: 300個(gè)四位數(shù),求出千位數(shù)上的數(shù)加個(gè)位數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個(gè)數(shù)cnt,再求出所

20、有滿足此條件的四位數(shù)平均值pjz1,以及不滿足此條件的四位數(shù)平均值pjz267: 5000以內(nèi),千位數(shù)字與百位數(shù)字之和等于十位數(shù)字與個(gè)位數(shù)字之和,且千位數(shù)字與百位數(shù)字之和等于個(gè)位數(shù)字與千位數(shù)字之差的10倍.計(jì)算并輸出這些四位自然數(shù)的個(gè)數(shù)cnt以及這些數(shù)的和sum十八、整數(shù)各位打散組合運(yùn)算: 28 29 51 52 72 76 59 8628: 200個(gè)四位數(shù),把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab,以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd,如果新組成的兩個(gè)十位數(shù)ab- cd>=0且ab-cd<=10且兩個(gè)數(shù)均是奇數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四

21、位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab-cd)>=0&&(ab-cd)<=10&&ab%2=1&&cd%2=1&&ab>=10&&cd>=10)29: 200個(gè)四位數(shù),把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab,以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd,如果新組成的兩個(gè)十位數(shù)ab- cd>=10且ab-cd<=20且兩個(gè)數(shù)均是偶數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b 中,并

22、要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab-cd>=10&&ab-cd<=20&&ab%2=0&&cd%2=0&&qw!=0&&gw!=0)51: 200個(gè)四位數(shù),把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù),以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù),如果新組成的兩個(gè)十位數(shù)均是素?cái)?shù)且新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt52: 200個(gè)四位數(shù),把千位數(shù)字和個(gè)位數(shù)字重新組成一個(gè)新的十位數(shù),以及把百位數(shù)字和十位數(shù)字組成另

23、一個(gè)新的十位數(shù),如果新組成的兩個(gè)十位數(shù)均是奇數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被5整除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab%2&&cd%2&&(ab%5=0|cd%5=0)&&ab>=10&&cd>=10)72: 200個(gè)四位數(shù),把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù),以及把百位數(shù)字和十位數(shù)字組成另一個(gè)新的十位數(shù),如果新組成的兩個(gè)十位數(shù)均是偶數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被9整除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則

24、將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab%9=0|cd%9=0)&&ab%2=0&&cd%2=0&&hun!=0&&data!=0)76: 200個(gè)四位數(shù),把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù),以及把百位數(shù)字和十位數(shù)字組成另一個(gè)新的十位數(shù),如果新組成的兩個(gè)十位數(shù)必須是一個(gè)奇數(shù), 另一個(gè)為偶數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被17整除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中,并要計(jì)算滿足上述條件的四位數(shù)的cnt if(ab%

25、2!=cd%2)&&(ab%17=0|cd%17=0)&&ab>=10&&cd>=10)59: 200個(gè)四位數(shù),把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab,以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd,如果新組成的兩個(gè)十位數(shù) ab<cd,ab必須是奇數(shù)且不能被5整除,cd必須是偶數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b 中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab-cd)<0&&ab%2=1&&ab%5!=0)&&

26、;cd%2!=1&&ab>=10&&cd>=10)86: 200個(gè)四位數(shù),把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab,以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd,如果新組成的兩個(gè)十位數(shù) ab>cd,ab必須是偶數(shù)且能被5整除,cd必須是奇數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b 中,并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt if(ab-cd)>0&&(ab%2!=1&&ab%5=0)&&cd%2=1&&ab>=10&

27、amp;&cd>=10)十九、方差運(yùn)算: 33 83 9333: 計(jì)算出xx中偶數(shù)的個(gè)數(shù)even,奇數(shù)的平均值ave1,偶數(shù)的平均值ave2以及方差totfc的值83: 計(jì)算出xx中奇數(shù)的個(gè)數(shù)odd,奇數(shù)的平均值ave1,偶數(shù)的平均值ave2以及所有奇數(shù)的方差totfc的值93: 分別計(jì)算出xx中奇數(shù)的個(gè)數(shù)odd,偶數(shù)的個(gè)數(shù)even,平均值aver以及方差totfc的值 for(i=0;i<MAX;i+) totfc+=(xxi-aver)*(xxi-aver); totfc/=MAX;二十、級(jí)數(shù)運(yùn)算: 3535: Sn<M且Sn+1>=M,這里Sn=A1+A2

28、+.+An,并依次把n值存入數(shù)組單元b0,b1和b2中二十一、選票: 39 58 8439: 內(nèi)容均為字符0和1,1表示此人被選中,0表示此人未被選中,全選或不選均為無(wú)效的選票58: 內(nèi)容均為字符0和1,1表示此人被選中,0表示此人未被選中,若一張選票人數(shù)小于等于5個(gè)人時(shí)被認(rèn)為無(wú)效的選票84: 內(nèi)容均為字符0和1,1表示此人被選中,0表示此人未被選中,若一張選票人數(shù)大于5個(gè)人時(shí)被認(rèn)為無(wú)效的選票二十二、SIX/NINE: 4141: 計(jì)算出自然數(shù)SIX和NINE,它們滿足的條件是SIX+SIX+SIX=NINE+NINE的個(gè)數(shù)cnt以及滿足此條件所有的SIX與NINE的和SUM二十三、出圈: 5

29、7習(xí) 題 解 答第1題答案void num(int m, int k, int xx)/* 定義整型變量data,并初始化為m+1(即大于整數(shù)m且緊靠m的第1個(gè)整數(shù)) */int data = m+1;int half, n = 0, i;while(1)/* 判斷data是否為素?cái)?shù) */half = data/2;for (i=2; i<=half; i+)if (data%i = 0)break;if (i > half) /* 如果此時(shí)i>half說(shuō)明data是一個(gè)素?cái)?shù) */xxn = data; /* 將data存入數(shù)組xx */n+; /* 讓計(jì)數(shù)變量n增1 */*

30、 如果已經(jīng)找足k個(gè)素?cái)?shù)了,就通過(guò)break語(yǔ)句跳出循環(huán) */if (n >= k)break;data+; /* 繼續(xù)找下一個(gè)素?cái)?shù) */第2題答案void jsVal()int bb4;int i, j, k, flag;for (i=0; i<200; i+) /* 循環(huán)以遍歷數(shù)組a中的每一個(gè)四位數(shù) */bb0 = ai/1000; /* 將ai的千位數(shù)字存入bb0 */bb1 = ai%1000/100; /* 將ai的百位數(shù)字存入bb1 */bb2 = ai%100/10; /* 將ai的十位數(shù)字存入bb2 */bb3 = ai%10; /* 將ai的個(gè)位數(shù)字存入bb3 */

31、for (j=0; j<4; j+) /* 循環(huán)以遍歷數(shù)組bb,即ai的每一位 */* 根據(jù)當(dāng)前位是否能被2整除,來(lái)設(shè)置旗標(biāo)變量flag為1還是0 */if (bbj%2 = 0)flag = 1;elseflag = 0;/* 如果有1位不能被2整除,后面的位就不必判斷了,跳出該循環(huán) */break;if (flag = 1) /* 如果此時(shí)flag的值為1說(shuō)明所有位均能被2整除 */bcnt = ai; /* 將此數(shù)存入數(shù)組b */cnt+; /* 計(jì)數(shù)值cnt增1 */* 對(duì)數(shù)組b的前cnt個(gè)數(shù)進(jìn)行選擇排序 */for (i=0; i<cnt-1; i+)for (j=i+1

32、; j<cnt; j+)/* 如果bi因小于它后面的數(shù)bj而交換兩者,說(shuō)明此排序?yàn)榻敌?*/if (bi < bj)k = bi;bi = bj;bj = k;2第3題答案void StrOR(void)int i, j, k;char buf80;for (i=0; i<maxline; i+) /* 循環(huán)以遍歷英文文章的每一行 */j = strlen(xxi)-1; /* 求出當(dāng)前行最后一個(gè)字符的位置 */* 從最后一個(gè)字符往前循環(huán)遍歷當(dāng)前行,直到碰到小寫(xiě)字母'o'或到行首 */while (xxij!='o' && j&

33、gt;=0)j-;if (j < 0) /* 如果j<0說(shuō)明找到行首也沒(méi)發(fā)現(xiàn)一個(gè)'o' */continue; /* 則當(dāng)前行不用操作,去下一行 */* 找到字母'o',用字符串結(jié)束標(biāo)志0(或?qū)懗?#39;0')替換之,使該行一分為二 */xxij = 0;strcpy(buf, &xxij+1); /* 將后半截字符串復(fù)制到緩存行buf中 */* 從第1個(gè)字符開(kāi)始循環(huán)遍歷前半截字符串 */k = j = 0;while (xxij)/* 循環(huán)往后遍歷,找出第1個(gè)小寫(xiě)字母'o'的位置或到達(dá)字符串末尾 */while (

34、xxij!='o' && xxij)j+;if (!xxij) /* 如果!xxij為真,說(shuō)明已到達(dá)字符串末尾 */* 將找過(guò)的這段字符串連接到buf中已存字符串的末尾并跳出循環(huán) */strcat(buf, &xxik);break;/* 如果找到了字母'o',用0替換之以分割出找過(guò)的這段字符串 */xxij = 0;/* 將找過(guò)的這段字符串連接到buf中已存字符串的末尾 */strcat(buf, &xxik);/* 從下一個(gè)位置開(kāi)始繼續(xù)循環(huán)遍歷剩下的字符串 */j+;k = j;/* 執(zhí)行到這里,當(dāng)前行已遍歷完畢,用操作結(jié)果覆

35、蓋掉原來(lái)內(nèi)容 */strcpy(xxi, buf);第4題答案void StrOL(void)int i, j, k, strl, l;/* 循環(huán)遍歷英文文章的全部字符,將既不是字母也不是空格的字符替換成空格 */for (i=0; i<maxline; i+)for (j=0; j<(int)strlen(xxi); j+)if (!isalpha(xxij) && xxij!=' ')xxij = ' 'for (l=0; l<maxline; l+) /* 循環(huán)以遍歷文章的每一行 */char ch80 = 0;char

36、pp80 = 0;strl = strlen(xxl);i = strl-1; /* 求出當(dāng)前行最后一個(gè)字符的位置 */k = 0;while(1)/* 從最后一個(gè)字符往前循環(huán)遍歷當(dāng)前行,直到碰到非字母字符或到行首*/* (即以從后往前的順序查找單詞) */while (isalpha(xxli) && i>=0)/* 將字符數(shù)組pp中的前k+1個(gè)字符往后移動(dòng)一位 */for (j=k; j>=0; j-)ppj+1 = ppj;pp0 = xxli; /* 將當(dāng)前字符存入到pp的第1個(gè)位置 */3k+; /* pp中的有效字符數(shù)增1 */i-; /* 繼續(xù)遍歷前一

37、個(gè)字符 */strcat(ch, pp); /* 將pp中的單詞連接到字符數(shù)組ch的末尾 */strcpy(pp, ""); /* 清空pp數(shù)組 */k = 0;if (i < 0)break; /* 若已遍歷到行首則跳出該循環(huán) */* 從后往前循環(huán)遍歷當(dāng)前行,直到碰到字母字符或到行首 */* (即以從后往前的順序查找兩個(gè)單詞之間的字符) */while (!isalpha(xxli) && i>=0)/* 將字符數(shù)組pp中的前k+1個(gè)字符往后移動(dòng)一位 */for (j=k; j>=0; j-)ppj+1 = ppj;pp0 = xxli;

38、 /* 將當(dāng)前字符存入到pp的第1個(gè)位置 */k+; /* pp中的有效字符數(shù)增1 */i-; /* 繼續(xù)遍歷前一個(gè)字符 */strcat(ch, pp); /* 將pp中的字符串連接到ch的末尾 */strcpy(pp, ""); /* 清空pp數(shù)組 */k = 0;if (i < 0)break; /* 若已遍歷到行首則跳出該循環(huán) */* 執(zhí)行到這里,當(dāng)前行已遍歷完畢,用操作結(jié)果覆蓋掉原來(lái)內(nèi)容 */strcpy(xxl, ch);第5題答案void jsSort()int i, j, data;/* 對(duì)數(shù)組aa的所有200個(gè)數(shù)進(jìn)行選擇排序 */for (i=0;

39、i<199; i+)for (j=i+1; j<200; j+)/* 按每個(gè)數(shù)后三位的大小進(jìn)行升序排列 */if (aai%1000 > aaj%1000)data = aai;aai = aaj;aaj = data;else if (aai%1000 = aaj%1000) /* 若后三位相等則按實(shí)際大小進(jìn)行降序排列 */if (aai < aaj)data = aai;aai = aaj;aaj = data;for (i=0; i<10; i+) /* 取出排序后數(shù)組aa中的前10個(gè)數(shù)存入數(shù)組bb */bbi = aai;第6題答案void jsSort(

40、)int i, j, data;/* 對(duì)數(shù)組aa的所有200個(gè)數(shù)進(jìn)行選擇排序 */for (i=0; i<199; i+)for (j=i+1; j<200; j+)/* 按每個(gè)數(shù)后三位的大小進(jìn)行降序排列 */if (aai%1000 < aaj%1000)data = aai;4aai = aaj;aaj = data;else if (aai%1000 = aaj%1000) /* 若后三位相等則按實(shí)際大小進(jìn)行升序排列 */if (aai > aaj)data = aai;aai = aaj;aaj = data;for (i=0; i<10; i+) /*

41、取出排序后數(shù)組aa中的前10個(gè)數(shù)存入數(shù)組bb */bbi = aai;第7題答案void SortDat()int i, j;PRO xy;/* 對(duì)數(shù)組sell的所有100條記錄進(jìn)行選擇排序 */for (i=0; i<99; i+)for (j=i+1; j<100; j+)/* 按每條記錄dm字段(產(chǎn)品代碼)的大小進(jìn)行降序排列 */* (注意:字符串比較必須通過(guò)strcmp函數(shù)) */if (strcmp(selli.dm, sellj.dm) < 0)xy = selli;selli = sellj;sellj = xy;else if (strcmp(selli.dm

42、, sellj.dm) = 0) /* 若dm字段相等則按je字段(金額)的大小進(jìn)行降序排列 */if (selli.je < sellj.je)xy = selli;selli = sellj;sellj = xy;第8題答案void encryptChar()int i;char *pf;/* 循環(huán)以遍歷英文文章的每一行 */for (i=0; i<maxline; i+)pf = xxi; /* 以字符指針指向當(dāng)前行行首 */while (*pf != 0) /* 若所指字符不為0(即字符串結(jié)束標(biāo)志)則循環(huán) */ /* 若所指字符依題意計(jì)算后小于等于130且大于32,則用計(jì)算

43、結(jié)果替換之 */if (*pf*11%256<=130 && *pf*11%256>32)*pf = *pf*11%256;pf+; /* 讓指針指向下一個(gè)字符 */第9題答案void SortCharD(void)int i, j, k, strl;char ch;/* 循環(huán)以遍歷英文文章的每一行 */for (i=0; i<maxline; i+)5strl = strlen(xxi);/* 用選擇排序法對(duì)當(dāng)前行進(jìn)行排序 */for (j=0; j<strl-1; j+)for (k=j+1; k<strl; k+)if (xxij <

44、xxik) /*前面的字符小于后面的字符則交換兩者,所以此排序是降序排序 */ch = xxij;xxij = xxik;xxik = ch;第10題答案void ConvertCharA(void)int i, j, str;/* 循環(huán)以遍歷英文文章的每一行 */for (i=0; i<maxline; i+)str = strlen(xxi);/* 循環(huán)以遍歷當(dāng)前行的每一個(gè)字符 */for (j=0; j<str; j+)if (xxij = 'z')xxij = 'a' /* 如果當(dāng)前字符是小寫(xiě)字母'z',則改為'a&#

45、39; */else if (xxij>='a' && xxij<='y')xxij += 1; /* 否則如果是其他小寫(xiě)字母,則讓其自增1 */第11題答案void chg(char *s)while (*s) /* 若s所指字符不為0(即字符串結(jié)束標(biāo)志)則循環(huán) */* 若s所指字符是字母'z'或'Z',則讓它自減25(即改為'a'或'A') */if (*s='z' | *s='Z')*s -= 25;/* 否則如果s所指字符是其他字母

46、,則讓它自增1(即改為其下一個(gè)字符) */else if (isalpha(*s)*s += 1;s+; /* 讓指針指向下一個(gè)字符 */第12題答案void SortDat()int i, j;PRO xy;/* 對(duì)數(shù)組sell的所有100條記錄進(jìn)行選擇排序 */for (i=0; i<99; i+)for (j=i+1; j<100; j+)/* 按每條記錄mc字段(產(chǎn)品名稱(chēng))的大小進(jìn)行升序排列 */if (strcmp(selli.mc, sellj.mc) > 0)xy = selli;sell i = sellj;sellj = xy;else if (strcmp

47、(selli.mc, sellj.mc) = 0) /* 若mc字段相等則按je字段(金額)的大小進(jìn)行升序排列 */if (selli.je > sellj.je)xy = selli;selli = sellj;sellj = xy;6第13題答案void SortDat()int i, j;PRO xy;/* 對(duì)數(shù)組sell的所有100條記錄進(jìn)行選擇排序 */for (i=0; i<99; i+)for (j=i+1; j<100; j+)/* 按每條記錄dm字段(產(chǎn)品代碼)的大小進(jìn)行升序排列 */if (strcmp(selli.dm, sellj.dm) > 0

48、)xy = selli;selli = sellj;sellj = xy;else if (strcmp(selli.dm, sellj.dm) = 0) /* 若dm字段相等則按je字段(金額)的大小進(jìn)行降序排列 */if (selli.je < sellj.je)xy = selli;selli = sellj;sellj = xy;第14題答案void jsVal()int i, j, flag = 0;int k;/* 循環(huán)以遍歷數(shù)組a的第1至倒數(shù)第6個(gè)數(shù) */for (i=0; i<MAX-5; i+) /* 循環(huán)以遍歷當(dāng)前數(shù)的后5個(gè)數(shù) */for (j=i+1; j&l

49、t;=i+5; j+)if (ai > aj) /* 若當(dāng)前數(shù)大于后5個(gè)數(shù)則設(shè)標(biāo)志flag為1 */flag = 1;else /* 否則設(shè)標(biāo)志flag為0并跳出循環(huán) */flag = 0;break;if (flag=1 && ai%2) /* 若flag為1說(shuō)明當(dāng)前數(shù)大于后5個(gè)數(shù),且%2為真(即奇數(shù))的話 */bcnt = ai; /* 把當(dāng)前數(shù)存入數(shù)組b */cnt+; /* 計(jì)數(shù)值cnt增1 */* 對(duì)數(shù)組b的前cnt個(gè)數(shù)進(jìn)行選擇排序 */for (i=0; i<cnt-1; i+)for (j=i+1; j<cnt; j+)if (bi > b

50、j) /* 前面的數(shù)大于后面的數(shù)則交換,即升序排列 */k = bi;bi = bj;bj = k;第15題答案void jsVal()int i, j;int a1, a2, a3, a4, k;/* 循環(huán)遍歷數(shù)組a中的每一個(gè)數(shù) */for (i=0; i<MAX; i+)7a1 = ai/1000; /* 將ai的千位數(shù)字存入a1 */a2 = ai%1000/100; /* 將ai的百位數(shù)字存入a2 */a3 = ai%100/10; /* 將ai的十位數(shù)字存入a3 */a4 = ai%10; /* 將ai的個(gè)位數(shù)字存入a4 */if (a1 <= a2) &&

51、; (a2 <= a3) && (a3 <= a4) && (ai%2 = 0) /*若當(dāng)前數(shù)的千位不小于百位、百位不小于十位、十位不小于個(gè)位且為偶數(shù) */bcnt = ai; /* 將此數(shù)存入數(shù)組b */cnt+; /* 計(jì)數(shù)值cnt增1 */* 用選擇排序法對(duì)數(shù)組b的前cnt個(gè)數(shù)進(jìn)行排序 */for (i=0; i<cnt-1; i+)for (j=i+1; j<cnt; j+)if (bi > bj) /* 因?yàn)榍罢叽笥诤笳邉t交換,所以是升序排序 */k = bi;bi = bj;bj = k;第16題答案void StrCh

52、arJR(void)int i, j, strl;/* 循環(huán)以遍歷文章的每一行 */for (i=0; i<maxline; i+)strl = strlen(xxi);for (j=0; j<strl; j+) /* 循環(huán)以遍歷當(dāng)前行的每一個(gè)字符 */xxij += xxij>>4; /* 將每個(gè)字符按題目的要求進(jìn)行替換 */第17題答案void ChA(void)int i, j, k, str;char ch;/* 循環(huán)以遍歷英文文章的每一行 */for (i=0; i<maxline; i+)str = strlen(xxi);ch = xxi0; /*

53、保存當(dāng)前行第1個(gè)字符 */* 循環(huán)以遍歷當(dāng)前行除最后一個(gè)字符以外的所有字符 */for (j=0; j<str-1; j+)xxij += xxij+1; /* 將這些字符累加上緊挨其后的一個(gè)字符 */xxistr-1 += ch; /* 將最后一個(gè)字符累加上前面保存的第1個(gè)字符 */for (j=0, k=str-1; j<str/2; j+, k-) /*通過(guò)雙循環(huán)變量從首尾開(kāi)始同時(shí)遍歷當(dāng)前行,交換相對(duì)位置的值以實(shí)現(xiàn)逆轉(zhuǎn) */ch = xxij;xxij = xxik;xxik = ch;第18題答案void encryptChar()int i;char *pf;/* 循環(huán)以

54、遍歷英文文章的每一行 */for (i=0; i<maxline; i+)pf = xxi; /* 以字符指針指向當(dāng)前行行首 */while (*pf != 0) /* 若所指字符不為0(即字符串結(jié)束標(biāo)志)則循環(huán) */8 /* 若所指字符為奇數(shù)且依題意計(jì)算后大于32,則用計(jì)算結(jié)果替換之 */if (*pf%2 && *pf*11%256>32)*pf = *pf*11%256;pf+; /* 讓指針指向下一個(gè)字符 */第19題答案int findStr(char *str, char *substr)int n;char *p, *r;n = 0;while (*str) /* 以指針str循環(huán)遍歷其所指字符串 */p = str; /* 用指針p指向當(dāng)前字符 */r = substr;while (*r) /* 以指針r循環(huán)遍歷substr所指字符串 */if (*r = *p) /* 如果p和r所指字符相同則繼續(xù)比較 */r+;p+;else /* 一旦碰到不同字符則跳出循環(huán) */break;/* 如果上面循環(huán)是正常結(jié)束(即r指向字符串結(jié)束標(biāo)志'0') */* 證明從str當(dāng)前所指位置起與substr所指字符串中的所有字符一一匹配 */if (*r = '0')n+; /*

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論