C语言编程100题(基础知识、基本结构、数组)
1.輸出Hello World!
2.編寫程序,將華氏度轉(zhuǎn)換為攝氏度。轉(zhuǎn)換公式為:c = 5 * (華氏度f(wàn) - 32) / 9;其中,c為攝氏度,f為華氏度。
3.交互輸入的四個(gè)整數(shù),計(jì)算它們的和以及平均值,并輸出,要求:平均值保留兩位小數(shù)。
4.從鍵盤輸入一個(gè)n,計(jì)算1到n的和。
5.編寫1+1/2+1/3+...+1/n計(jì)算程序。
6有如下函數(shù):??
7. 計(jì)算分段函數(shù):
8.求出1-N中的所有素?cái)?shù)。
9.判斷一個(gè)數(shù)是否為"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身。例如:371是一個(gè)"水仙花數(shù)",371=3^3+7^3+1^3.
10.輸出所有的"水仙花數(shù)".所謂"水仙花數(shù)"是指這樣的一個(gè)三位數(shù):其各位數(shù)字的立方和等于該數(shù)本身。例如:371是一個(gè)"水仙花數(shù)",371=3^3+7^3+1^3.
11.?編寫一個(gè)程序輸出一定范圍內(nèi)所有的完全數(shù),如果一個(gè)數(shù)等于它的因子之和,則稱該數(shù)為“完全數(shù)”。例如,6的因子為1,2,3,而6=1+2+3,因此6是“完全數(shù)”。
12.?孿生素?cái)?shù)就是指相差2的素?cái)?shù)對(duì)。例如:3和5,5和7,11和13......輸入一個(gè)正整數(shù)n,輸出n以內(nèi)的所有孿生素?cái)?shù)。(此問(wèn)題可以拓展一到“梅森素?cái)?shù)”)
13.?中國(guó)古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了一個(gè)著名的“百錢百雞問(wèn)題”:一只公雞值5錢,一只母雞值3錢,三只小雞值1錢,現(xiàn)在要用百錢買百雞,請(qǐng)問(wèn)公雞、母雞、小雞各多少只?
14.?求正整數(shù)N以內(nèi)的所有勾股數(shù)。
所謂勾股數(shù),是指能夠構(gòu)成直角三角形三條邊的三個(gè)正整數(shù)(a,b,c)。
15.?兩個(gè)不同的自然數(shù)A和B,如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A,則將整數(shù)A和B稱為親密數(shù)。求3000以內(nèi)的全部親密數(shù)。
16.?選出三個(gè)數(shù)中最小數(shù)的算法流程圖如下圖所示:
?17.計(jì)算個(gè)人所得稅,假設(shè)個(gè)人所得稅為:稅率*(工資-1600)。請(qǐng)編寫程序計(jì)算應(yīng)繳的所得稅,其中稅率定義為:
(1)當(dāng)工資不超過(guò)1600時(shí),稅率為0;
(2)當(dāng)工資在區(qū)間(1600,2500]時(shí),稅率為5%;
(3)當(dāng)工資在區(qū)間(2500,3500]時(shí),稅率為10%;
(4)當(dāng)工資在區(qū)間(3500,4500]時(shí),稅率為15%;
(5)當(dāng)工資超過(guò)4500時(shí),稅率為20%。
18.企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)(I)低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高于10萬(wàn)元,低于20萬(wàn)元時(shí),低于10萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提成7.5%;20萬(wàn)到40萬(wàn)之間時(shí),高于20萬(wàn)元的部分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于40萬(wàn)元的部分,可提成3%;60萬(wàn)到100萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可提成1.5%,高于100萬(wàn)元時(shí),超過(guò)100萬(wàn)元的部分按1%提成,從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
19.?輸入三角形的3條邊a,b,c,如果能構(gòu)成一個(gè)三角形,輸出面積area和周長(zhǎng)perimeter(保留2位小數(shù));否則,輸出“These sides do not correspond to a valid triangle”。在一個(gè)三角形中,任意兩邊之和大于第三邊。三角形面積計(jì)算公式:?
(其中,P =(a+b+c)/2)
20.輸出如下楊輝三角形的前七行。
1 ??
1 ???1
1 ???2 ???1
1 ???3 ???3 ???1
1 ???4 ???6 ???4 ????1
1 ???5 ???10 ??10 ???5 ???1
21.求5*5的二維數(shù)組的每行元素的平均值。
22. 韓信點(diǎn)兵:在中國(guó)數(shù)學(xué)史上,廣泛流傳著一個(gè)“韓信點(diǎn)兵”的故事:韓信是漢高祖劉邦手下的大將,他英勇善戰(zhàn),智謀超群,為漢朝建立了卓越的功勞。據(jù)說(shuō)韓信的數(shù)學(xué)水平也非常高超,他在點(diǎn)名的時(shí)候,為了知道有多少兵,同時(shí)又能保住軍事機(jī)密,便讓士兵排隊(duì)報(bào)數(shù):
按從1到5報(bào)數(shù),記下最末一個(gè)士兵報(bào)的數(shù)為1;
按從1到6報(bào)數(shù),記下最末一個(gè)士兵報(bào)的數(shù)為5;
按從1到7報(bào)數(shù),記下最末一個(gè)士兵報(bào)的數(shù)為4;
按1從11報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)是10;
你知道韓信至少有多少兵嗎?試編寫相應(yīng)程序。
23.?求序列前n項(xiàng)的和:輸入一個(gè)正整數(shù)n,輸出2/1+3/2+5/3+8/5+.......的前n項(xiàng)之和(該序列從第2項(xiàng)起,每一項(xiàng)的分子是前一項(xiàng)分子與分母的和,分母是前一項(xiàng)的分子),保留2位小數(shù)。試編寫相應(yīng)程序。
24.?求序列和。輸入兩個(gè)正整數(shù)a和n,求a+aa+aaa+aa....a(n個(gè)a)之和。比如輸入2和3,輸出246(2+22+222)。試編寫相應(yīng)程序。
25.?兔子繁衍問(wèn)題:一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子。小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子。假如兔子都不死,請(qǐng)問(wèn)第1個(gè)月出生的一對(duì)兔子,至少需要繁衍到第幾個(gè)月時(shí)兔子總數(shù)才可以達(dá)到n對(duì)?試編寫相應(yīng)程序。
26.?在海軍節(jié)開(kāi)幕式上,有A、B、C三艘軍艦要同時(shí)開(kāi)始鳴放禮炮各21響。已知A艦每隔5秒放一次,B艦每隔6秒放一次,C艦每隔7秒放一次,假設(shè)各炮手對(duì)時(shí)間的掌握非常準(zhǔn)確,請(qǐng)編程計(jì)算觀眾總共可以聽(tīng)到幾次禮炮聲。
27. 有一個(gè)5*5的二維數(shù)組,要求刪除每行上的最大值,將剩余的數(shù)據(jù)輸出。
28.從鍵盤輸入10個(gè)正負(fù)相間的整數(shù),輸出個(gè)位數(shù)是奇數(shù)、十位數(shù)是偶數(shù)的所有數(shù)。
29.?計(jì)算兩點(diǎn)間的距離:給定平面任意兩點(diǎn)坐標(biāo)(x1,y1)和(x2,y2),求這兩點(diǎn)之間的距離(保留兩位小數(shù))。
30.?輸入兩個(gè)正整數(shù)m和n(1<=m,n<=500),統(tǒng)計(jì)并輸出m和n之間的素?cái)?shù)的個(gè)數(shù)以及這些素?cái)?shù)的和。
31. 從鍵盤中輸入全班同學(xué)們的C語(yǔ)言課程的成績(jī),輸入-1時(shí)停止,統(tǒng)計(jì)出各分?jǐn)?shù)段的人數(shù),并輸出。(<60、60-69、70-79、80-89、90-100)
32.?輸入兩個(gè)正整數(shù)a和n,編程求a+aa+aaa+aa…a(n個(gè)a)之和。要求定義并調(diào)用函數(shù)fn(a,n),它的功能是返回aa…a(n個(gè)a)。例如fn(3,2)的返回值是33。
33.?輸出指定范圍內(nèi)的Fibonacci數(shù):輸入兩個(gè)正整數(shù)m和n(1<=m,n<=10000),輸出m~n之間所有的Fibonacci數(shù)。
34.驗(yàn)證哥德巴赫猜想:任何一個(gè)不小于6的偶數(shù)均可表示為兩個(gè)奇素?cái)?shù)之和。例如:6=3+3,8=3+5,…,18=5+13。將6~100之間的偶數(shù)都表示成兩個(gè)奇素?cái)?shù)之和,打印時(shí)一行打印3組。
35.求100~200間的全部素?cái)?shù)。
36.按一定規(guī)律將電文變成密碼: 將字母A變?yōu)镋、將字母a變?yōu)閑,即變成其后的第四個(gè)字母,W將變成A。字母按上述規(guī)律轉(zhuǎn)換,非字母字符不變。輸入一行字符,輸出相應(yīng)密碼。
37.輸入三個(gè)字符串,按由小到大的順序輸出。
38.讀入4*3的二維數(shù)組,分別求各行、各列及表中所有數(shù)之和。
?
39.將二維數(shù)組行列元素互換,存到另一個(gè)數(shù)組中。
40.4*4的二維數(shù)組,分別求出主對(duì)角線、次對(duì)角線上元素之和。
41.定義一個(gè)含有30個(gè)整型元素的數(shù)組,按順序賦予從2開(kāi)始的偶數(shù),然后按順序以每5個(gè)數(shù)一組的形式求出平均值并輸出。
42.有n個(gè)人做成一圈,按順序1到n編好號(hào)。從第一個(gè)人開(kāi)始報(bào)數(shù),報(bào)到m(m<n)的人退出圈子。如此下去,直到留下最后一個(gè)人,輸入整數(shù)n和m,并按退出順序輸出退出圈子的人的編號(hào)。試編寫相應(yīng)程序。
43. 定義一個(gè)3行3列的二維數(shù)組,從鍵盤輸入9個(gè)數(shù)的值。輸出其中最大值和最小值及其所在的行列坐標(biāo)。
44. 編程計(jì)算3*3矩陣的主對(duì)角線元素和反向?qū)蔷€元素之和。
45. 用編程計(jì)算并輸出楊輝三角形的前n行(要求n從鍵盤輸入)輸出楊輝三角形前n行(每一行每個(gè)數(shù)之間空一格,每行最后一個(gè)數(shù)不需要空格)
46. 定義一個(gè)3行3列的二維數(shù)組,從鍵盤輸入9個(gè)數(shù)的值。輸出其中最大值和最小值及其所在的行列坐標(biāo)。
47.輸入某年某月某日,判斷這一天是這一年的第幾天?程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于2月時(shí)需考慮多加一天。
48.有1、2、3、4、0 ?五個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?分別是多少?
49.輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。
50.一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?
51.題目:打印出如下圖案
*
***
*****
*******
*****
***
*
52.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。
53.給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
54.對(duì)10個(gè)數(shù)進(jìn)行排序
55.將一個(gè)數(shù)組逆序輸出。
56.有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。
57.一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?
58.有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?
59.輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。
60.輸出9*9乘法表。
61.題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。
62.求一個(gè)3*3的整型矩陣對(duì)角線元素之和。
63.編寫程序,將兩個(gè)字符串連接起來(lái),不用strcat函數(shù)。
64.從一個(gè)三行四列的整型二維數(shù)組中查找第一個(gè)出現(xiàn)的負(fù)數(shù)。
65.?
66.有3個(gè)字符串,要求找出其中最大者。
67.從鍵盤輸入若干行文本,每行以回車結(jié)束,以 ctrl+z 作為輸入結(jié)束符,統(tǒng)計(jì)其行數(shù)。
68.從鍵盤輸入字符,以 ctrl+z 結(jié)束,統(tǒng)計(jì)輸入的數(shù)字 0~9、空白符和其它字符的個(gè)數(shù)。
69.從鍵盤輸入一個(gè)字符串(長(zhǎng)度不超過(guò)20,其中不含空格),將其復(fù)制一份,復(fù)制時(shí)將小寫字母都轉(zhuǎn)換成為大寫字母)。
70.從一個(gè)三行四列的整型二維數(shù)組中查找第一個(gè)出現(xiàn)的負(fù)數(shù)。
71.用while語(yǔ)句顯示1~10的平方。
72.從鍵盤輸入一組數(shù)據(jù),以0結(jié)束輸入,求數(shù)據(jù)和。
73.輸入一個(gè)整數(shù),判斷它能否被3、5、7整除,并輸出以下信息之一:
(1)能同時(shí)被3、5、7整除; (2)能被其中兩數(shù)(要指出哪兩個(gè))整除;(3)能被其中一個(gè)數(shù)(要指出哪一個(gè))個(gè)整除;(4)不能被3、5、7任一個(gè)整除。
74.輸入一個(gè)年份,判斷某一年是否閏年。
75.打印如下圖形:
? ? ? ? ? ? ? ? ?******
? ? ? ? ? ? ?******
? ? ? ? ?******
? ? ?******
?******
76.打印如下圖形:
******
? ******
? ? ******
? ? ? ******
? ? ? ? ******
77.打印如下圖形:
******
? ******
******
? ******
******
? ******
78.打印如下圖形:
*
***
******
********
**********
79.從鍵盤上任意輸入兩位正整數(shù),編程求出個(gè)位與十位的乘積且打印輸出。
80.求方程ax2+bx+c=0的根,設(shè)b2-4ac>0,a,b,c由鍵盤輸入
(列如,輸入1 ?3 ?2,可得x1=-1.00,x2=-2.00)
81.鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出,用puthchar和getchar函數(shù)編程。
82.設(shè)計(jì)計(jì)算器程序。用戶輸入兩個(gè)運(yùn)算數(shù)和四則運(yùn)算符,輸出計(jì)算結(jié)果。
例如:輸入 :3,4,+<回車> ???輸出:3+4=7 ?提示:建議使用switch語(yǔ)句
83.找出1000以內(nèi)的能被5整除且也能被7整除的所有整數(shù)。
84.用do…while循環(huán)語(yǔ)句編程求1~100中的偶數(shù)之和。
85.編程求滿足一下條件的三位數(shù):百位數(shù)加上個(gè)位數(shù)等于十位數(shù),并且次數(shù)被5和7整除都整除。
86.編寫程序,從鍵盤輸入6名學(xué)生的5門成績(jī),分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績(jī)。
87.從鍵盤上輸入5個(gè)兩位數(shù),并按照個(gè)位數(shù)從小到大排序輸出。
88.計(jì)算500以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。
89.輸出圓面積,面積大于100時(shí)停止。
90.小寫字母轉(zhuǎn)換成大寫字母,直至輸入非字母字符。
91.求輸入的十個(gè)整數(shù)中正數(shù)的個(gè)數(shù)及其平均值。
92.讀10個(gè)整數(shù)存入數(shù)組,找出其中最大值和最小值。
93.輸入一行字符,統(tǒng)計(jì)其中的單詞個(gè)數(shù),單詞間空格分開(kāi)。
94.有一條長(zhǎng)階梯:如果每步跨2階,那么最后剩1 階;如果每步跨 3 階,那么最后剩 2 階;如果每步跨 5 階,那么最后剩 4 階;如果每步跨 6 階,那么最后剩 5 階;只有當(dāng)每步跨 7 階時(shí),最后才正好走完, 一階不剩。請(qǐng)問(wèn)這條階梯至少有多個(gè)階??
95.編寫程序求出 1000-2000 年之間的所有閏年,并統(tǒng)計(jì)個(gè)數(shù)。
96.計(jì)算10的階乘10!
97.陽(yáng)陽(yáng)買蘋果,每個(gè)蘋果0.8元,陽(yáng)陽(yáng)第一天買兩個(gè),第二天開(kāi)始每天買前一天的兩倍,直到購(gòu)買的蘋果個(gè)數(shù)為不超過(guò)100的最大值,編程求陽(yáng)陽(yáng)每天平均花多少錢?
98.編程求一個(gè)整數(shù)任意次方后的最后三位數(shù),即求X^Y的最后三位數(shù),X和Y的值由鍵盤輸入。
99.3對(duì)情侶參加婚禮,3個(gè)新。郎分別為a、b、c,三個(gè)新郎分別為 x、y、z。有人想知道究竟誰(shuí)和誰(shuí)結(jié)婚,于是就問(wèn)新人中的三位,得到如下提示:a說(shuō) 他將和X結(jié)婚;x說(shuō)她的未婚夫是c;c說(shuō)她將和z 結(jié)婚。這人時(shí)候知道他們都在開(kāi)玩笑,說(shuō)的全是假話,那么究竟誰(shuí)和誰(shuí)結(jié)婚吶。
100.根據(jù)輸入的三角形的三條邊判斷三角形的類型,并輸出它的面積和類型。提示:首先判斷所給的三條邊是否能組成三角形,若可以構(gòu)成三角形,則判斷該三角形是什么類型,并求三角形面積 。
?
?
???????????????
總結(jié)
以上是生活随笔為你收集整理的C语言编程100题(基础知识、基本结构、数组)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS 7 防止端口自动关闭
- 下一篇: cad快看_CAD快速看图可以图纸对比吗