C语言经典100道编程练习题
生活随笔
收集整理的這篇文章主要介紹了
C语言经典100道编程练习题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.生成不重復(fù)的三位數(shù),有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?2.企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)(I)低于或等于10萬元時(shí),獎(jiǎng)金可提10%;
利潤(rùn)高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可提成7.5%;
20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;
40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;
60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%;
高于100萬元時(shí),超過100萬元的部分按1%提成。
從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
程序分析:請(qǐng)利用數(shù)軸來分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型3.一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問該數(shù)是多少?4.輸入某年某月某日,判斷這一天是這一年的第幾天?5.輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。6.用*號(hào)輸出字母C的圖案。7.輸出特殊圖案,請(qǐng)?jiān)赾環(huán)境中運(yùn)行8.輸出九九乘法表9.要求輸出國(guó)際象棋棋盤。10.打印樓梯,同時(shí)在樓梯上方打印兩個(gè)笑臉。11.古典問題(兔子生崽):有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?(輸出前40個(gè)月即可)12.判斷101到200之間的素?cái)?shù)。13.打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù) 本身。例如:153是一個(gè)"水仙花數(shù)",因?yàn)?span id="ozvdkddzhkzd" class="token number">153=1的三次方+5的三次方+3的三次方。14.將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。15.利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績(jī)>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。16.輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。17.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。18.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤控制。19.一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)。20.一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過多少米?第10次反彈多高?21.猴子吃桃問題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)
第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下
的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘了多少。22.兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)為x,y,z三人。已抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請(qǐng)編程序找出三隊(duì)賽手的名單。23.打印出如下圖案(菱形)。*********
****************
程序分析:先把圖形分成兩部分來看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。24.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。25.求1+2!+3!+...+20!的和。26.利用遞歸方法求5!。27.利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來。28.有5個(gè)人坐在一起,問第五個(gè)人多少歲?他說比第4個(gè)人大2歲。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。問第三個(gè)人,又說比第2人大兩歲。問第2個(gè)人,說比第一個(gè)人大兩歲。最后問第一個(gè)人,他說是10歲。請(qǐng)問第五個(gè)人多大?
程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個(gè)階段。要想知道第五個(gè)人歲數(shù),需知道第四人的歲數(shù),依次類推,推到第一人(10歲),再往回推。29.給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。30.一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬位相同,十位與千位相同。31.請(qǐng)輸入星期幾的第一個(gè)字母來判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母。32.刪除一個(gè)字符串中的指定字母,如:字符串 "aca",刪除其中的 a 字母。33.學(xué)習(xí)clrscr()函數(shù)與gotoxy() (在Turbo C中實(shí)現(xiàn))。34.練習(xí)函數(shù)調(diào)用。35.字符串反轉(zhuǎn),如將字符串 "www.freecplus.net" 反轉(zhuǎn)為 "ten.sulpceerf.www"。36.求100之內(nèi)的素?cái)?shù)。37.對(duì)10個(gè)數(shù)進(jìn)行排序。38.求一個(gè)3*3矩陣對(duì)角線元素之和39.有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來的規(guī)律將它插入數(shù)組中。40.將一個(gè)數(shù)組逆序輸出。41.學(xué)習(xí)static定義靜態(tài)變量的用法。42.學(xué)習(xí)使用auto定義變量的用法。43.學(xué)習(xí)使用static的另一用法。44.學(xué)習(xí)使用external的用法。45.學(xué)習(xí)使用register定義變量的方法。46.宏#define命令練習(xí)。47.宏#define命令練習(xí)2。48.宏#define命令練習(xí)3。49.#if #ifdef和#ifndef的綜合應(yīng)用。50.#include 的應(yīng)用練習(xí)。51.學(xué)習(xí)使用按位與 &。52.學(xué)習(xí)使用按位或 |。53.學(xué)習(xí)使用按位異或 ^。54.自定義一個(gè)整數(shù)移位,取一個(gè)整數(shù) a 從右端開始的 4~7 位。55.學(xué)習(xí)使用按位取反~。56.畫圖,學(xué)用circle畫圓形。57.畫圖,學(xué)用line畫直線(在Turbo C中實(shí)現(xiàn))。58.學(xué)用rectangle畫方形。(在Turbo C中實(shí)現(xiàn))。59.畫圖,綜合例子。(在Turbo C中實(shí)現(xiàn))。60.畫圖,綜合例子2。(在Turbo C中實(shí)現(xiàn))。61.打印出楊輝三角形(要求打印出10行)。62.學(xué)習(xí)putpixel畫點(diǎn),(在Turbo C中實(shí)現(xiàn))。63.畫橢圓ellipse(在Turbo C中實(shí)現(xiàn))。64.利用ellipse and rectangle 畫圖(在Turbo C中實(shí)現(xiàn))。65.一個(gè)最優(yōu)美的圖案(在Turbo C中實(shí)現(xiàn))。66.輸入3個(gè)數(shù)a,b,c,按大小順序輸出。67.輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最后一個(gè)元素交換,輸出數(shù)組。68.有 n個(gè)整數(shù),使其前面各數(shù)順序向后移 m 個(gè)位置,最后m個(gè)數(shù)變成最前面的 m 個(gè)數(shù)。69.有n個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問最后留下的是原來第幾號(hào)的那位。70.寫一個(gè)函數(shù),求一個(gè)字符串的長(zhǎng)度,在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度。71.編寫input()和output()函數(shù)輸入,輸出5個(gè)學(xué)生的數(shù)據(jù)記錄。72.創(chuàng)建一個(gè)鏈表。73.反向輸出一個(gè)鏈表。 74.連接兩個(gè)鏈表。75.輸入一個(gè)整數(shù),并將其反轉(zhuǎn)后輸出。76.編寫一個(gè)函數(shù),輸入n為偶數(shù)時(shí),調(diào)用函數(shù)求1/2+1/4+...+1/n,當(dāng)輸入n為奇數(shù)時(shí),調(diào)用函數(shù)1/1+1/3+...+1/n(利用指針函數(shù))。77.填空練習(xí)(指向指針的指針)。78.找到年齡最大的人,并輸出。請(qǐng)找出程序中有什么問題。79.字符串排序。80.海灘上有一堆桃子,五只猴子來分.第一只猴子把這堆桃子平均分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份,第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三,第四,第五只猴子都是這樣做的,問海灘上原來最少有多少個(gè)桃子?81.809*??=800*??+9*?? 其中??代表的兩位數(shù), 809*??為四位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。82.自定義一個(gè)八進(jìn)制轉(zhuǎn)換為十進(jìn)制83.求0—7所能組成的奇數(shù)個(gè)數(shù)84.一個(gè)偶數(shù)總能表示為兩個(gè)素?cái)?shù)之和。85.判斷一個(gè)素?cái)?shù)能被幾個(gè)9整除。86.兩個(gè)字符串連接程序 。87.回答結(jié)果(結(jié)構(gòu)體變量傳遞)。88.讀取7個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,程序打印出該值個(gè)數(shù)的 *。89.某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下: 每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。90.專升本一題,讀結(jié)果。91.時(shí)間函數(shù)舉例192.時(shí)間函數(shù)舉例293.時(shí)間函數(shù)舉例394.猜謎游戲95.簡(jiǎn)單的結(jié)構(gòu)體應(yīng)用實(shí)例。96.計(jì)算字符串中子串出現(xiàn)的次數(shù) 。97.從鍵盤輸入一些字符,逐個(gè)把它們送到磁盤上去,直到輸入一個(gè)#為止。98.從鍵盤輸入一個(gè)字符串,將小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個(gè)磁盤文件"test"中保存。 輸入的字符串以!結(jié)束。99.有兩個(gè)磁盤文件A和B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中。100.有五個(gè)學(xué)生,每個(gè)學(xué)生有3門課的成績(jī),從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號(hào),姓名,三門課成績(jī)),計(jì)算出平均成績(jī),況原有的數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤文件"stud"中。
習(xí)題答案
經(jīng)典100題源碼
推薦
最近在撿C,發(fā)現(xiàn)了幾個(gè)不錯(cuò)的學(xué)習(xí)網(wǎng)站。哈哈
1.runoob
2.w3schoo
大家也可以移步我主頁(yè)專欄《C/C++語(yǔ)言程序設(shè)計(jì)》同步進(jìn)階經(jīng)典100例,會(huì)持續(xù)更新的,前30例是基礎(chǔ)部分,后70例是提高部分,涉及一些常見的算法和數(shù)據(jù)結(jié)構(gòu)的知識(shí)。
總結(jié)
以上是生活随笔為你收集整理的C语言经典100道编程练习题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TI10 有感而发
- 下一篇: 20144303 20145239 实验