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