【4.92】將一個數(shù)的數(shù)碼倒過來所得到的新數(shù),叫作原數(shù)的反序數(shù),如果一個數(shù)等于它的反序數(shù),則稱它為對稱數(shù)。編寫程序,采用遞歸算法求不超過1993的最大的二進(jìn)制的對稱數(shù)。
【4.93】從1到n(n<1000)個自然數(shù)中選出r個數(shù)進(jìn)行組合,并按指定的格式輸出組合的結(jié)果。例如:n=5,r=3時,共有10種組合,運行程序,要按下面的格式輸出:
123
4
5
34
5
45
234
5
45
345
請用遞歸算法實現(xiàn)。
【4.94】從鍵盤輸入十個整數(shù),用合并排序法對輸入的數(shù)據(jù)按照從小到大的順序進(jìn)行排序,將排序后的結(jié)果輸出。
【4.95】編寫程序,讀入一個以符號"."結(jié)束的長度小于20字節(jié)的英文句子,檢查其是否為回文(即正讀和反讀都是一樣的,不考慮空格和標(biāo)點符號)。例如:
讀入句子:MADAM I'M ADAM. 它是回文,所以輸出:YES
讀入句子:ABCDBA). 它不是回文,所以輸出:NO
【4.96】編寫程序,其中包括一個函數(shù),此函數(shù)的功能是:對一個長度為N 的字符串從其第K個字符起,刪去M個字符,組成長度為N-M的新字符串(其中N、M<=80,K<=N)。例如輸入字符串"We are poor students.",利用此函數(shù)進(jìn)行刪除"poor"的處理,輸出處理后的字符串是"We are students."。
【4.97】編寫函數(shù),通過指針將一個字符串反向。
【4.98】編寫一個函數(shù)insert(s1,s2,ch),實現(xiàn)在字符串s1中的指定字符ch位置處插入字符串s2。
【4.99】編寫程序?qū)⑤斎氲膬尚凶址B接后,將串中全部空格移到串首后輸出。
【4.100】編寫程序,輸入字符串,分別統(tǒng)計字符串中所包含的各個不同的字符及其各自字符的數(shù)量。如:輸入字符串: abcedabcdcd
則輸出:a=2 b=2 c=3 d=3 e=1。
【4.101】利用結(jié)構(gòu):struct complx
{ int real;
int im;
};
編寫求兩個復(fù)數(shù)之積的函數(shù)cmult,并利用該函數(shù)求下列復(fù)數(shù)之積:
、 (3+4i)×(5+6i) ⑵ (10+20i)×(30+40i
【4.102】編寫成績排序程序。按學(xué)生的序號輸入學(xué)生的成績,按照分?jǐn)?shù)由高到低的順序輸出學(xué)生的名次、該名次的分?jǐn)?shù)、相同名次的人數(shù)和學(xué)號;同名次的學(xué)號輸出在同一行中,一行最多輸出10個學(xué)號。
【4.103】編寫程序,實現(xiàn)輸入的時間屏幕顯示一秒后的時間。顯示格式為HH:MM:SS。程序需要處理以下三種特殊情況:
、 若秒數(shù)加1后為60,則秒數(shù)恢復(fù)到0,分鐘數(shù)增加1;
、 若分鐘數(shù)加1后為60,則分鐘數(shù)恢復(fù)到0,小時數(shù)增加1;
、 若小時數(shù)加1后為24,則小時數(shù)恢復(fù)到0。
【4.104】編寫程序,從鍵盤輸入3個學(xué)生的數(shù)據(jù),將它們存入文件student;然后再從文件中讀出數(shù)據(jù),顯示在屏幕上。
【4.105】編寫程序,從鍵盤輸入一行字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件"test"中保存。
【4.106】編寫程序,讀入磁盤上C語言源程序文件"test8.c",刪去程序中的注釋后顯示。