0、計算100以內的奇數和。
1、列印所有「水仙花數」,所謂「水仙花數」是指乙個三位數,其各位數字立方和等於該數本身。例如,153是乙個水仙花數,因為153=1的立方 + 5的立方+ 3的立方。
2、有一整數序列
1,1,2,3, 5, 8, 13,21......
求出這個數列的前20項之和。
3、有一分數序列
2/1, 3/2, 5/3, 8/5, 13/8, 21/13,......
求出這個數列的前20項之和
4、寫乙個程式,將輸入的字串按反序輸出,例如給定輸入為abcde,輸出結果為edcba。
命令列輸入 s.exe abcde
結果 edcba
5、寫乙個程式,對10個任意數字進行由大到小的排序。
6、輸入一行字串,找出其中大寫字母、小寫字母、數字以及其他字元的個數。
7、接上題,將找出的結果按照大寫字母、小寫字母、數字以及其他字元的次序排列成乙個新的字串。
ah0,bcg34.
abchg034,.
8、寫乙個函式實現將任意位數(<=10)數字字串(0-9)轉化為相應的數字,如:將 「123」轉化成 123。不能使用atoi函式
int str2num(char *s);
9、寫乙個函式實現將任意乙個正整數(long)轉化為乙個相應的字串,如:將 123轉化成 「123」。
char *num2str(int num,char *str);
10、寫乙個求字串的長度的函式。(不准使用庫函式strlen),在main函式中輸入字串,並輸出其長度。
int mystrlen(char *s);
11、寫乙個函式,實現兩個字串拼接的功能。(不准使用庫函式strcat),在main函式中輸入2個字串。 hello world ==== helloworld
char *mycat(char *s1,char *s2);
12、寫乙個函式實現strcpy/strncpy的功能。
12-1、寫乙個函式實現strcmp/strncmp的功能。
13、寫乙個函式實現將任意字串按照asc值從小到大順序排列。
函式原型為:
char *sort(char *s);
14、寫乙個函式將任意給定的兩個字串取交集
函式原型為:
char *jiaoji(char *s,char *s1,char *s2);
若s1: abcddebcdf ==》去重後的s1 abcdef
s2: bcdfgb
則返回的是 s: bcdf
15、寫乙個函式將任意給定的兩個字串取並集
函式原型為:
char *bingji(char *s,char *s1,char *s2);
若s1: abcdde
s2: bcdfg
則返回的是 abcdefg
16、定義學生資訊如下:
struct stu
; 1)、手工輸入增加5條資訊,顯示出來;
2)、列出分數大於80的學生資訊
3)、按照分數高低排序並顯示
17、將13題第3步的結果寫入檔案
18、寫乙個程式,找出乙個檔案中數字字元的個數。(檔案自己給定)
19、int main(int argc,char **argv);
./m 111 254 求和 argv[2]
20、寫乙個程式,求乙個任意給定檔案的行數。 '\n'
21、給定乙個含有n個字元的檔案,在這n個字元的中間處插入乙個給定的字串。 如: 原始檔裡面的內容是 12345,插入abc,結果:123abc45;
如: 原始檔裡面的內容是 123456,插入abc,結果:123abc456;
1,雞兔同籠
已知雞和兔的總數量為n,總腿數為m。輸入n和m,依次輸出雞和兔的數目,如果無解,則輸出「no answer」(不要引號)。
2,判斷正負
輸入乙個整數,請你不用任何關係運算子來判斷出該數字是正數還是負數。
3,求差值
輸入乙個整數陣列,將它們連線起來排成乙個數,找出能排出的所有數字中最大,最小的兩個數,
輸出這兩個數的差值。例如輸入陣列,則輸出9。
eg:輸入: 1 2 3
==> 321 - 123
輸出: 198
4,尋找最大數
請在整數 n 中刪除m個數字, 使得餘下的數字按原次序組成的新數最大,
比如當n=92081346718538,m=10時,則新的最大數是9888
5,輸入乙個正整數n,列印出楊輝三角的前n行111
1211331
1464 1
。。。6,輸入一段字串,把該字串中的數字字元,以整數的形式提取出來。
eg:輸入: 123sdf+546fgs%32f&76bfh/*
輸出: 123 546 32 76
7,回文字串
所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如"aba"。
當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。
現在要求你,給你乙個字串,可在任意位置新增字元,請求出最少再新增幾個字元,可以使這個字串成為回文字串。
輸入: 乙個字串
輸出:所需新增的最少字元數
eg:輸入:ab3bd
==> dab3bad
輸出:2
8,佔連坐
輸入三個正整數 m n k,分別表示有m行n列的座位,k表示要佔的連坐是幾連坐
然後把座位的被佔狀態賦值;1表示被佔,0表示沒有被佔,
請輸出能佔到連坐的方式有多少種。
eg:m:3 n:5 k:3
1 1 0 0 0
0 0 0 0 1
1 0 1 1 1
輸出:能佔到連坐的方式有 3 種
9,分解連續數
輸入乙個數字,求出該數字能分解成連續數的方式有多少中
eg:輸入: 15
==> 15 = 1+2+3+4+5
15 = 4+5+6
15 = 7+8
輸出: 3
10,點數
在乙個二維的座標系內有三個點,這三個點的x,y座標都是整數,把這三個點構成乙個三角形,
請你求出這個三角形內部和邊界上的x,y座標都為整數的點一共有多少個。
11,蛇形填數
在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
輸入:直接輸入方陳的維數,即n的值。(n<=100)
輸出:輸出結果是蛇形方陣。
eg:輸入: 3
輸出:7 8 1
6 9 2
5 4 3
12,整數解
小明是一名初中生,她現在很苦惱,因為老師布置了乙個讓她苦惱的作業,你能不能幫助她呢?題目資訊如下。
已知二元一次方程 a*x+b*y=n, 判斷這個二元一次方程有沒有整數解 (x,y為未知數)
其中a,b,n都為整數且不等於零,同時滿足0
輸入a,b,n的值
輸出:yes / no
13,擊鼓傳花
輸入三個正整數 m n k
m:總人數 n:間隔數 k:接花的目標的編號
把m個人圍成一圈從1開始編號(1,2,3...),花從編號為1的人開始傳遞,花一傳出去,該傳花者就淘汰掉,
並擊一次鼓,花要傳遞到下乙個間隔數滿足n的人手中(淘汰的人不算間隔數)。若該者的編號不為k,則該者再把花傳遞出去,
同時該傳花者被淘汰掉,擊鼓一次。重複此動作。直到花傳遞到編號為k的人手中。
輸出擊鼓的次數(注:若 k=1,則擊鼓0次)
C語言經典面試試題
c語言經典面試試題 1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義...
C語言經典筆試題(二)
21 關鍵字volatile有什麼含意?並給出三個不同的例 子。參 乙個定義為volatile的變數是說這變數可 能會被意想不到地改變,這樣,編譯器就不會去假設 這個變數的值了。精確地說就是,優化器在用到這個 變數時必須每次都小心地重新讀取這個變數的值,而 不是使用儲存在暫存器裡的備份。下面是vol...
經典C語言面試題
1.gets 函式 問 請找出下面 裡的問題 include intmain void 答 上面 裡的問題在於函式gets 的使用,這個函式從stdin接收乙個字串而不檢查它所複製的快取的容積,這可能會導致快取溢位。這裡推薦使用標準函式fgets 代替。2.strcpy 函式 問 下面是乙個簡單的密...