100道C語言基礎練習題來襲!看看你是否能全部做出來?

2019-09-30   C語言編程開發

題目1:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?


題目2:企業發放的獎金根據利潤提成。

利潤(I)低於或等於10萬元時,獎金可提10%;

利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;

20萬到40萬之間時,高於20萬元的部分,可提成5%;

40萬到60萬之間時高於40萬元的部分,可提成3%;

60萬到100萬之間時,高於60萬元的部分,可提成1.5%;

高於100萬元時,超過100萬元的部分按1%提成。

從鍵盤輸入當月利潤I,求應發放獎金總數?


題目3:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

C語言


題目4:輸入某年某月某日,判斷這一天是這一年的第幾天?


題目5:輸入三個整數x,y,z,請把這三個數由小到大輸出。


題目6:用*號輸出字母C的圖案。


題目7:如圖,輸出如下特殊圖案

C語言


題目8:輸出9*9口訣


題目9:如圖,要求輸出西洋棋棋盤。

C語言


題目10:列印樓梯,同時在樓梯上方列印兩個笑臉。


題目11:古典問題(兔子生崽):有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?(輸出前40個月即可)


題目12:判斷101到200之間的素數。


題目13:列印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數 本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。


題目14:將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。


題目15:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。


題目16:輸入兩個正整數m和n,求其最大公約數和最小公倍數。


題目17:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

C語言


題目18:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。


題目19:一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.編程找出1000以內的所有完數。


題目20:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高?


題目21:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個,第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。


題目22:兩個桌球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。


題目23:列印出如下圖案(菱形)。

*************************


題目24:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。


題目25:求1+2!+3!+...+20!的和。


題目26:利用遞歸方法求5!。


題目27:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序列印出來。


題目28:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。請問第五個人多大?


題目29:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。


題目30:一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。

C語言


題目31:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。


題目32:刪除一個字符串中的指定字母,如:字符串 "aca",刪除其中的 a 字母。


題目33:判斷一個數字是否為質數。


題目34:練習函數調用(調用函數輸出三次Hellow world)。


題目35:字符串反轉,如將字符串 "airbird" 反轉為 "dribria"。


題目36:求100之內的素數。


題目37:對10個數進行排序(儘可能多的方法)。


題目38:求一個3*3矩陣對角線元素之和。


題目39:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。


題目40:將一個數組逆序輸出。


題目41:學習static定義靜態變量的用法。


題目42:學習使用auto定義變量的用法。


題目43:學習使用static的另一用法。


題目44:學習使用external的用法。


題目45:學習使用register定義變量的方法。


題目46:宏#define命令練習1。


題目47:宏#define命令練習2。


題目48:宏#define命令練習3。


題目49:#if #ifdef和#ifndef的綜合應用。


題目50:#include 的應用練習(多文件操作)。


題目51:學習使用按位與 &。


題目52:學習使用按位或 |。


題目53:學習使用按位異或 ^。


題目54:取一個整數a從右端開始的4~7位。


題目55:學習使用按位取反~。


題目56:畫圖,學用circle畫圓形。


題目57:畫圖,學用line畫直線(在TC中實現)。


題目58:學用rectangle畫方形。(在TC中實現)。


題目59:畫圖,綜合例子1。(在TC中實現)。


題目60:畫圖,綜合例子2。(在TC中實現)。


題目61:列印出楊輝三角形(要求列印出10行)。


題目62:學習putpixel畫點,(在TC中實現)。


題目63:畫橢圓ellipse(在TC中實現)。


題目64:利用ellipse and rectangle 畫圖(在TC中實現)。

C語言


題目65:一個最優美的圖案(在TC中實現)。


題目66:輸入3個數a,b,c,按大小順序輸出。


題目67:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。


題目68:有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數。


題目69:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。


題目70:寫一個函數,求一個字符串的長度,在main函數中輸入字符串,並輸出其長度。


題目71:編寫input()和output()函數輸入,輸出5個學生的數據記錄


題目72:創建一個鍊表。


題目73:反向輸出一個鍊表。


題目74:連接兩個鍊表。


題目75:掌握26個英文字母大小寫對應的ASCII碼。


題目76:編寫一個函數,輸入n為偶數時,調用函數求1/2+1/4+...+1/n,當輸入n為奇數時,調用函數1/1+1/3+...+1/n(利用指針函數)。


題目77:填空練習:#include

#includeint main(){char *s[]={"man","woman","girl","boy","sister"};char **q;int k;for(k=0;k<5;k++){這裡應該填入________printf("%s\\n",*q);}return 0;}


題目78:運用結構體,找到年齡最大的人,並輸出。請找出程序中有什麼問題。(person[3]={"li",18,"wang",19,"sun",22};)


題目79:輸入字符串並排序。


題目80:海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子平均分為五份,多了一個,這隻 猴子把多的一個扔入海中,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又多了 一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五隻猴子都是這樣做的, 問海灘上原來最少有多少個桃子?


題目81:809*??=800*??+9*??+1 其中??代表的兩位數,8*??的結果為兩位數,9*??的結果為3位數。求??代表的兩位數,及809*??後的結果。


題目82:八進位轉換為十進位


題目83:求0—7所能組成的奇數個數。


題目84:一個偶數總能表示為兩個素數之和。輸入一個偶數,輸出這兩個素數。


題目85:判斷一個素數能被幾個9整除。


題目86:兩個字符串連接程序 。


題目87:回答結果(結構體變量傳遞)。

#includestruct student{int x;char c;} a;int main(){a.x=3;a.c='a';f(a);printf("%d,%c",a.x,a.c);}f(struct student b){b.x=20;b.c='y';}


題目88:讀取7個數(1—50)的整數值,每讀取一個值,程序列印出該值個數的*。


題目89:某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。


題目90:讀結果。#include

#include#define M 5int main(){int a[M]={1,2,3,4,5};int i,j,t;i=0;j=M-1;while(i


題目91:時間函數舉例1


題目92:時間函數舉例2


題目93:時間函數舉例3


題目94:設計猜謎遊戲。


題目95:簡單的結構體應用實例。


題目96:計算字符串中子串出現的次數 。


題目97:從鍵盤輸入一些字符,逐個把它們送到磁碟上去,直到輸入一個#為止。


題目98:從鍵盤輸入一個字符串,將小寫字母全部轉換成大寫字母,然後輸出到一個磁碟文件"test"中保存。輸入的字符串以!結束。


題目99:有兩個磁碟文件A和B,各存放一行字母,要求把這兩個文件中的信息合併(按字母順序排列),輸出到一個新文件C中。


題目100:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,況原有的數據和計算出的平均分數存放在磁碟文件"stud"中。

雖然題目看似很多,但都是C語言中比較簡單的基礎題,一定要靜下心來慢慢寫哦!

C語言

加C/C++學習交.流群,免費獲取C語言、C++學習資料,學習路線指導和梳理,更有進階乾貨的直播免費學習權限 ,都是大牛帶飛 讓你少走很多的彎路的 群...號是 546912356