- 相關(guān)推薦
2017《C語言》上機實驗題及參考答案
為了幫助大家備考接下來的計算機二級考試,應屆畢業(yè)生小編整理了2017《C語言》上機實驗題及參考答案,希望能幫助大家備考計算機二級考試。
1、編程實現(xiàn)對鍵盤輸入的英文名句子進行加密。用加密方法為,當內(nèi)容為英文字母時其在26字母中的其后三個字母代替該字母,若為其它字符時不變:
2、編程實現(xiàn)將任意的十進制整數(shù)轉(zhuǎn)換成R進制數(shù)(R在2-16之間)。
3、從鍵盤輸入一指定金額(以元為單位,如345.78),然后顯示支付該金額的各種面額人民幣數(shù)量,要求顯示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少張。
4、隨機產(chǎn)生20個[10,50]的正整數(shù)存放到數(shù)組中,并求數(shù)組中的所有元素最大值、最小值、平均值及各元素之和。
5、編程在一個已知的字符串中查找最長單詞,假定字符串中只含字母和空格,空格用來分隔不同單詞。
6、模擬n個人參加選舉的過程,并輸出選舉結(jié)果:假設(shè)候選人有四人,分別用A、B、C、D表示,當選某候選人時直接輸入其編號(編號由計算機隨機產(chǎn)生),若輸入的不是A、B、C、D則視為無效票,選舉結(jié)束后按得票數(shù)從高到低輸出候選人編號和所得票數(shù)。
7、任何一個自然數(shù)m的立方均可寫成m個連續(xù)奇數(shù)之和。例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
編程實現(xiàn):輸入一自然數(shù)n,求組成n3的n個連續(xù)奇數(shù)。
8、已知abc+cba=1333,其中a,b,c均為一位數(shù),編程求出滿足條件的a,b,c所有組合。
9、編制一個完成兩個數(shù)的四則運算程序。如:用戶輸入34+56則輸出結(jié)果90.00。要求運算結(jié)果保留兩位小數(shù),用戶輸入時一次將兩個數(shù)和*作符輸入。
10、輸入一個五位以內(nèi)的正整數(shù),(1)判斷它是一個幾位數(shù);(2)請按序輸出其各位數(shù)字;(3)逆序輸出其各位數(shù)字。
如輸入:56439,輸出:5位數(shù)
5,6,4,3,9
9,3,4,6,5
11、編寫子函數(shù):(1)用冒泡法將一個數(shù)組排成升序的函數(shù)---SUB1;(2)在升序數(shù)組中插入一個數(shù),并且保持該數(shù)組仍為升序數(shù)組的函數(shù)---SUB2。
主函數(shù):①輸入任意10個正整數(shù)給數(shù)組;②調(diào)用SUB1對數(shù)組進行排序;③從鍵盤輸入一個正整數(shù),調(diào)用SUB2將其插入該數(shù)組。
12、編寫函數(shù):(1)用選擇法將數(shù)組排成降序的函數(shù)----SUB1;(2)用折半查找法查找某數(shù)是否在給定的數(shù)組當中的函數(shù)----SUB2。
主函數(shù):輸入任意10個正整數(shù)給數(shù)組,調(diào)用SUB1對數(shù)組進行排序,從鍵盤輸入一個正整數(shù),調(diào)用SUB2在數(shù)組中進行查找,找到后輸出“OK”,沒有找到則輸出“NO FOUND!”。
13、編寫一個程序,輸入兩個包含5個元素的數(shù)組,先將兩個數(shù)組升序排列,然后將這兩個數(shù)組合并成一個升序數(shù)組。
14、耶穌有13個門徒,其中有一個就是出賣耶穌的叛徒,請用排除法找出這位叛徒:13人圍坐一圈,從第一個開始報號:1,2,3,1,2,3……,凡是報到“3”就退出圈子,最后留在圈內(nèi)的人就是出賣耶穌的叛徒,請找出它原來的序號。
15、編寫一個程序,根據(jù)用戶輸入的不同邊長,輸出其菱形。例如,邊長為3的菱形為:
16、按如下圖形打印楊輝三角形的前10行。其特點是兩個腰上的數(shù)都為1,其它位置上的每一個數(shù)是它上一行相鄰兩個整數(shù)之和。
17、某班有5個學生,三門課。分別編寫3個函數(shù)實現(xiàn)以下要求:
(1) 求各門課的平均分;
(2) 找出有兩門以上不及格的學生,并輸出其學號和不及格課程的成績;
(3) 找出三門課平均成績在85-90分的學生,并輸出其學號和姓名
主程序輸入5個學生的成績,然后調(diào)用上述函數(shù)輸出結(jié)果。
18、編寫一人個求X的Y次冪的遞歸函數(shù),X為double型,y為int型,要求從主函數(shù)輸入x,y的值,調(diào)用函數(shù)求其冪。
19、打印魔方陣。
所謂魔方陣是指這樣的的方陣:
它的每一行、每一列和對角線之和均相等。
輸入n,要求打印由自然數(shù)1到n2的自然數(shù)構(gòu)成的魔方陣(n為奇數(shù))。
例如,當n=3時,魔方陣為:
8 1 6
3 5 7
4 9 2
魔方陣中各數(shù)排列規(guī)律為:
、 將“1”放在第一行的中間一列;
② 從“2”開始直到n×n為止的各數(shù)依次按下列規(guī)則存放:每一個數(shù)存放的行比前一個數(shù)的行數(shù)減1,列數(shù)同樣加1;
③ 如果上一數(shù)的行數(shù)為1,則下一個數(shù)的行數(shù)為n(最下一行),如在3×3 方陣中,1在第1行,則2應放在第3行第3列。
④ 當上一個數(shù)的列數(shù)為n時,下一個數(shù)的列數(shù)應為1,行數(shù)減1。如2在第3行第3列,3應在第2行第1列。
、萑绻瓷厦嬉(guī)則確定的位置上已有數(shù),或上一個數(shù)是第1行第n列時,則把下一個數(shù)放在上一個數(shù)的下面。如按上面的規(guī)定,4應放在第1行第2列,但該位置已被1占據(jù),所以4就放在3的下面。由于6是第1行第3列(即最后一列),故7放在6下面。
20、找出一個二維數(shù)組中的“鞍點”,即該位置上的元素在該行中最大,在該列中最小(也可能沒有“鞍點”),打印出有關(guān)信息。
21、馬克思在《數(shù)學手稿》中提出如下問題:有30個人(包括男人、女人和小孩)在一家飯店吃飯共花50先令,其中每個男人花3先令,每個女人花2先令,
每個小孩花1先令,問男人、女人、小孩各有多少人?
22、定義一個結(jié)構(gòu)體變量(包括年、月、日),計算該日在本年中為第幾天?(注意考慮閏年問題),要求寫一個函數(shù)days,實現(xiàn)上面的計算。由主函數(shù)將年月日傳遞給days函數(shù),計算后將日子傳遞回主函數(shù)輸出。
23、建立一個鏈表,每個結(jié)點包括:學號、姓名、性別、年齡,輸入一個學號,如果鏈表中的結(jié)點包括該學號,則輸出該結(jié)點內(nèi)容后,并將其結(jié)點刪去。
24、給定一個日期,求出該日為星期幾(已知2002-3-28為星期四)。
25、用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串(例如輸入4679,應輸出字符串“4679”),n為不確定數(shù),可以是位數(shù)不超過5,且數(shù)值在-32768~32767之間和任意整數(shù)。
26、有一個字符串,包括n個字符。寫一個函數(shù),將此字符串從第m個字符開始的全部字符復制成另一個字符串。要求在主函數(shù)輸入字符串及m值并輸出復制結(jié)果。
27、在主函數(shù)中輸入6個字符串,用另一個函數(shù)對他們按從小到大的順序,然后在主函數(shù)中輸出這6個已經(jīng)排好序的字符串。要求使用指針數(shù)組進行處理。
28、編寫一個函數(shù)實現(xiàn)對兩個字符串的比較。不用使用C語言提供的標準函數(shù)strcmp。要求在主函數(shù)中輸入兩個字符串,并輸出比較的結(jié)果(相等的結(jié)果為0,不等時結(jié)果為第一個不相等字符的ASCII差值)。
29、有一個unsigned long型整數(shù),先要分別將其前2個字節(jié)和后2個字節(jié)用為兩個unsigned int型整數(shù)輸出(設(shè)一個int型數(shù)據(jù)占2個字節(jié)),試編寫一函數(shù)partition實現(xiàn)上述要求。要求在主函數(shù)輸入該long型整數(shù),在函數(shù)partition中輸出結(jié)果。
30、編一程序,能把從終端讀入的一個字符中的小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件“test”中保存(用字符!表示輸入字符串的結(jié)束)。
31、有五個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人多少歲?他說比第3個人大2歲。問第3個人多少歲?他說比第3個人大2歲。問第2個人多少歲?他說比第1個人大2歲。最后問第1個人多少歲?他說是10歲。請問第5個人多大?(這是一個遞歸問題)編程實現(xiàn)對鍵盤輸入的英文名句子進行加密。用加密方法為,當內(nèi)容為英文字母時其在26字母中的其后三個字母代替該字母,若為其它字符時不變:
#include
main()
{char c;
printf("please input a string:");
while((c=getchar())!=‘“n‘)
{ if(c>=‘A‘&&c<=‘W‘||c>=‘a‘&&c<=‘w‘) c=c+3;
else if(c>=‘X‘&&c<=‘Z‘||c>=‘x‘&&c<=‘z‘) c=(c+3)-26;
printf("%c",c);
}
printf("“n");
return 0;
}
【《C語言》上機實驗題及參考答案】相關(guān)文章:
2017年C語言上機編程題練習06-21
C語言程序設(shè)計上機操作題10-21
計算機二級C語言上機編程題講解07-10
2017計算機二級C語言上機特訓題08-12
計算機二級C語言預測上機精選訓練題07-05
2017年C語言上機改錯試題10-12
C語言經(jīng)典程序題09-17
2017計算機二級C語言上機最終預測題07-08
計算機二級C語言上機程序填空題09-26