小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C語言入門100題

 billdoors 2006-12-25
1. 編程,統(tǒng)計(jì)在所輸入的50個(gè)實(shí)數(shù)中有多少個(gè)正數(shù)、多少個(gè)負(fù)數(shù)、多少個(gè)零。

2. 編程,計(jì)算并輸出方程X2+Y2=1989的所有整數(shù)解。

3. 編程,輸入一個(gè)10進(jìn)制正整數(shù),然后輸出它所對應(yīng)的八進(jìn)制、十六進(jìn)制數(shù)。

4. 一個(gè)數(shù)如恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。編程序找出1000以內(nèi)的所有完數(shù),并輸出其因子(6是一個(gè)"完數(shù)",它的因子是1,2,3)。

5. 輸入一個(gè)正整數(shù),輸出它的所有質(zhì)數(shù)因子(如180的質(zhì)數(shù)因子為 2、2、3、3、5)。

6. 輸入20個(gè)整數(shù)存入一數(shù)組,輸出其中能被數(shù)組中其它元素整除的那些數(shù)組元素。

7. 輸入兩個(gè)數(shù)組(數(shù)組元素個(gè)數(shù)自定),輸出在兩個(gè)數(shù)組中都出現(xiàn)的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},則輸出3、5)。

8. 輸入兩個(gè)數(shù)組(數(shù)組元素個(gè)數(shù)自定),輸出在兩個(gè)數(shù)組中都不出現(xiàn)的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},則輸出2、4、6、3、7、9、10、-1)。

9.編程,將字符數(shù)組S2中的全部字符拷貝到字符數(shù)組S1中(不用strcpy函數(shù))。

10.給定年份year,判別該年份是否閏年(定義一個(gè)宏以判別該年份是否閏年)。

11.輸入一行小寫字母后,將字母變成其下一字母(a變成b、b變成c、c變成d、…、x變成y、y變成z、z變成a)輸出。

12. 編寫一個(gè)函數(shù),處理n行、n列的二維數(shù)組:將每一行的元素同除以該行上絕對值最大的元素。

13. 編寫函數(shù),求任意階多項(xiàng)式 a0+a1X+a2X2+...+anXn 的值并返回多項(xiàng)式的值。

14. 設(shè)計(jì)一個(gè)函數(shù),使給出一個(gè)數(shù)的原碼,能得到該數(shù)的補(bǔ)碼。

15. 編寫函數(shù),求m行、n列的二維數(shù)組全體元素中負(fù)數(shù)的個(gè)數(shù)。

16. 編寫函數(shù),返回在一個(gè)整數(shù)組中出現(xiàn)次數(shù)最多的數(shù)及其出現(xiàn)次數(shù)。

17.編一個(gè)程序,打入月份號,輸出該月的英文月名,要求用指針數(shù)組處理。

18.編寫遞歸函數(shù),將輸入的字符串按與輸入相反的順序輸出。

19. 編寫函數(shù),在n個(gè)元素的一維數(shù)組中,統(tǒng)計(jì)比相鄰元素大的數(shù)組元素個(gè)數(shù)并將統(tǒng)計(jì)數(shù)返回(不考慮a[0]和a[n-1]),要求以指針變量而不是數(shù)組名作參數(shù)。

20. 編寫函數(shù),在n個(gè)元素的一維數(shù)組中,找出最大值、最小值并傳送到調(diào)用函數(shù)。

21. 編寫一個(gè)函數(shù),統(tǒng)計(jì)m行n列二維數(shù)組中有多少個(gè)正數(shù)、多少個(gè)負(fù)數(shù),多少個(gè)零,并返回統(tǒng)計(jì)結(jié)果。

22. 寫一函數(shù),在給定的一行以"."結(jié)束的字符中,找出最長的單詞并輸出。

23. 編寫一個(gè)函數(shù)print,打印一個(gè)學(xué)生的成績數(shù)組,該數(shù)組中有5個(gè)學(xué)生的數(shù)據(jù)記錄,每個(gè)記錄包括num,name,score[3],用主函數(shù)輸入這些記錄,用print函數(shù)輸出這些記錄。

24. 把文本文件d1.dat復(fù)制到文本文件d2.dat中,要求僅復(fù)制d1.dat中的英文字符。

25. 編程,把文本文件d1.dat復(fù)制到d2.dat(其中空格字符不復(fù)制)。

26. 編程,把文本文件d1.dat復(fù)制到d2.dat(其中大寫英文字母要轉(zhuǎn)換為小寫字母)。

27. 把文本文件d1.dat復(fù)制到文本文件d2.dat中,要求僅復(fù)制d1.dat中除英文字符和數(shù)字以外的其它內(nèi)容。

28. 求出1至100之間的素?cái)?shù)(只能被1和自身整除的數(shù))并順序?qū)懭胛募u.dat。

29.磁盤文件a1和a2,各自存放一個(gè)已按字母順序排好的字符串,編程合并二個(gè)文件到a3文件中,合并后仍保持字母順序(如a1中存放:"accel",a2中存放"ilrz",則a3中為"acceillrz")。

30.已知順序文件C.DAT 存放著程序設(shè)計(jì)基礎(chǔ)的考試成績,每個(gè)記錄包含學(xué)號(8位字符)和成績(三位整數(shù))兩個(gè)數(shù)據(jù)項(xiàng)。編制程序,從文件中讀入學(xué)生成績,將大于或等于60分的學(xué)生 成績再形成一個(gè)新的文件SCORE60.DAT保存在A盤上,并顯示出學(xué)生總?cè)藬?shù)(少于1000)、平均成績和及格人數(shù)。

31.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域和指針域。請編寫程序?qū)崿F(xiàn)如圖所示鏈表的逆置。

若原鏈表為:

head

a

b

C ∧









逆置后鏈表應(yīng)為:

head

c

b

a ∧









32、編制函數(shù)實(shí)現(xiàn)在一個(gè)帶頭結(jié)點(diǎn)(head)的單向鏈表(數(shù)據(jù)有序)中刪除相同數(shù)據(jù)的結(jié)點(diǎn)(相同數(shù)據(jù)的結(jié)點(diǎn)只保留一個(gè))。

33、編制一程序,將字符computer賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開始間隔的輸出該串。請用指針完成。

34、編制一程序,將字符串的第m個(gè)字符開始的全部字符復(fù)制成另一個(gè)字符串,要求在主函數(shù)中輸入字符串及m的值并輸出復(fù)制結(jié)果,在被調(diào)用函數(shù)中完成復(fù)制。

35、有4名學(xué)生每個(gè)學(xué)生考4門課程,要求在用戶輸入學(xué)生學(xué)號以后能輸出該生的全部成績,用指針型函數(shù)來實(shí)現(xiàn)。請編寫函數(shù)float *search().

main()

{static float score[][4]={{60,76,80,90},{45,86,57,90},{58,95,80,71},{78,50,60,85}};

float search(),p;

int I,m;

printf(“enter the number of student:”);

scanf(“%d”,&m);

printf(“the score of NO.%dare:\n”,m);

p=search(score,m);

for(I=0;I<4;I++)

printf(“%52f\t”,*(p+I));

}

float search(float (pointer)[4],int n)

{}

36、有4名學(xué)生每個(gè)學(xué)生考4門課程,要求在用戶找出有不及格課程的學(xué)生學(xué)號并輸出全部成績,用指針來實(shí)現(xiàn)。

37、編制一程序?qū)崿F(xiàn)將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),并存放于一維數(shù)組b中,然后輸出。

38、以下函數(shù)p的功能是用遞歸方法計(jì)算x的n階勒讓德多項(xiàng)式的值。已有有調(diào)用語句p(n,x);請編寫p函數(shù)。遞歸公式如下:

1

X

PX(X)=

((2N-1)*X* Pn-1(X)-(n-1)* Pn-2(X)/n



39、編程實(shí)現(xiàn)如下5*5階的螺旋方陣。

1
2
3
4
5

16
17
18
89
6

15
22
21
20
7

14
23
24
25
8

13
12
11
10
9


40、編一程序?qū)崿F(xiàn)求所有不超過200的N值,N的平方是具有對稱性質(zhì)的回文數(shù)。所謂回文數(shù)就是將一個(gè)數(shù)從左向右與從右向左讀是一樣的,例如34543和1234321都是回文數(shù)。

41、編寫一函數(shù)實(shí)現(xiàn)將一個(gè)整數(shù)按逆序存放到一個(gè)數(shù)組中。

42、請編寫程序:從鍵盤輸入一個(gè)字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,輸出到磁盤文件“upper.txt”中去保存。輸入的字符串以“!”結(jié)束。

43、設(shè)文件number.dat中存放了一組整數(shù)。請編程統(tǒng)計(jì)并輸出文件中正整數(shù)、負(fù)整數(shù)和零的個(gè)數(shù)。

44、請編程:從鍵盤上讀入一個(gè)16進(jìn)制無符號數(shù)m,調(diào)用函數(shù)rightrot將m中的原始數(shù)據(jù)循環(huán)右移n位。并輸出移位前后的內(nèi)容。

45、設(shè)計(jì)一遞歸函數(shù)計(jì)算下列函數(shù):

PX(X,N)=X-X2+X3-X4+……+(-1)N-1XN(N>0)

46、設(shè)計(jì)一遞歸函數(shù)計(jì)算x的n次方。

47、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)將小于32768的整數(shù)按逆序輸出。

48、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)將小于32768的整數(shù)按逆序輸出。

49、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)如下函數(shù):

ack(m,n)= n+1 當(dāng)m=0時(shí)

ack(m-1,1) 當(dāng)n=0時(shí)

ack(m-1,ack(m,n-1)) 當(dāng)n>0,m>0時(shí)

50、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)將任一正整數(shù)轉(zhuǎn)達(dá)換成二進(jìn)制數(shù)。




回復(fù)人:laiwusheng(蕭劍 -- 樓主好幽默!) ( 四級(中級)) 信譽(yù):100 2006-12-24 16:46:25 得分:0



51、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)將任一正整數(shù)轉(zhuǎn)達(dá)換成八進(jìn)制數(shù)。

52、設(shè)計(jì)一遞歸函數(shù)實(shí)現(xiàn)將任一正整數(shù)轉(zhuǎn)達(dá)換成十六進(jìn)制數(shù)。

53、編程判斷輸入整數(shù)x的正負(fù)性和奇偶性。

54、編程求兩數(shù)中較大值。

55、求55555的約數(shù)中最大的三位約數(shù)。

56、輸入10個(gè)整數(shù),求其中的正數(shù)個(gè)數(shù)及平均值,精確到小數(shù)后兩位。

57、編程判斷從鍵盤上輸入一年是否是閏年。

58、輸入n值,打印下列高為n的等腰三角形。

當(dāng)n=4時(shí)圖形如下:

*

***

*****

*******

59、輸入n值,打印下列圖形。(例如n=5時(shí))



1 2 3 4 5

1 1 2 3 4

1 1 1 2 3

1 1 1 1 2

1 1 1 1 1

60、編程求下列算式:(要求最后一項(xiàng)小于10-3)

SUM=1+1/2+1/3+1/4+……

61、編寫一函數(shù),計(jì)算x的n次方。

62、編程求3*4的矩陣中的最大元素值。

63、編寫函數(shù),通過指針連接兩個(gè)字符。函數(shù)頭如下:

64、編寫函數(shù),通過指針求一個(gè)字符串的反串。函數(shù)頭如下:

65、編寫函數(shù),通過指針求一個(gè)字符串的長度。函數(shù)頭如下:

#include <stdio.h>

char *strlen(char *s)

{char *p=s;

while(*p)p++;

return(p-s);

}

66、對數(shù)組A中的N(0<N<100)個(gè)整型元素進(jìn)行從小到大連續(xù)編號,要求不能改變數(shù)組A中的元素順序,且相同元素有相同編號。例如A=(5,3,4,7,3,5,6)則輸出:(3,1,2,5,1,3,4)

67、輸入正整數(shù)N(N<1000),產(chǎn)生對應(yīng)的英文字符串并輸出。例如

1 ONE

2、TWO

3、THREE

……

11 ELEVEN

135 ONE HANDRED TRIRTY FIVE

68、編寫一程序?qū)M足條件pow(1.05,n)<1e6<pow(1.05,n+1)的n、pow(1.05,n)值以格式"%d,%.0f"寫入到當(dāng)前目錄下新建的文件design.dat。

69、編一程序統(tǒng)計(jì)滿足條件x*x+y*y+z*z==2000的所有解的個(gè)數(shù),并將統(tǒng)計(jì)結(jié)果以格式"%d"寫入到當(dāng)前目錄下新建的文件design.dat。說明:若a、b、c是1個(gè)解,則a、c、b也是1個(gè)解。

70、編一程序,從鍵盤上輸入一字符串,然后按照要求輸出 一新字符串。新字符串中,每兩個(gè)字符之間插入一個(gè)空格,如原來的字符串為“abcd”則新串為“a b c d”。要求在函數(shù)insert中完成新串的產(chǎn)生。

71、試編程判斷輸入的正整數(shù)是否既是5又是7的整數(shù)倍。若是,則輸出yes,否則輸出no。

72、每個(gè)蘋果0.8元,第一天買兩個(gè)蘋果,從第二天開始,每天買前一天的2倍,直到購買的蘋果個(gè)數(shù)達(dá)到不超過100的最在數(shù)。編寫程序求每天平均花多少錢?

73、試編程找出1至99的所有同構(gòu)數(shù),所謂同構(gòu)數(shù)是指它出現(xiàn)在它的平方數(shù)的右邊。如6的平方數(shù)36故6是同構(gòu)數(shù)。

74、試編寫一程序?qū)⒆址畇中的所有字符c刪除。

75、編寫程序,求1-3+5+……+101

76、編寫程序,求E=1+1/1!+1/2!+……+1/n!,要求最后一項(xiàng)的值小于10-4

77、編寫程序,打印以下圖形(輸入一正整數(shù)說,輸出一棱形)

當(dāng)n=4時(shí),圖形如下:

*

***

*****

*******

*****

***

*

78、打印如下矩陣



25
24
23
22
21

10
9
8
7
20

11
2
1
6
19

12
3
4
5
18

13
14
15
16
17


79、求任一不超過100整數(shù)的階乘。

80、實(shí)現(xiàn)任意不超過100位兩個(gè)整數(shù)的加法。

81、實(shí)現(xiàn)任意不超過100位兩個(gè)整數(shù)的乘法。

82、利用遞歸求n個(gè)元素的所有子集。

83、編程實(shí)現(xiàn)從鍵盤上輸入五個(gè)單詞,請將它們按從小到大的順序排序然后輸出。

84、編寫函數(shù)inxert(s1,s2,f),實(shí)現(xiàn)在字符串s1中的指定位置f處插入字符串s2。

85、求這樣一個(gè)三位數(shù),該三位數(shù)等于其每位數(shù)字的階乘之和。

86、利用遞歸求n個(gè)元素的全排列。

87、編程輸出數(shù)字矩形。由鍵盤輸入矩形的長A和寬B,擺放如下矩形。

例如:輸入A=3,B=5

輸出:1 2 6

3 5 7

4 8 12

9 11 13

10 14 15

88、有一未完成的等式如下:

1()2()3()4()5()6()7()8()9=N

在()中填入+、-,也可以不填。編程找出輸入某個(gè)N值后(N為整數(shù),由鍵盤輸入),使等式成立的所有方案并統(tǒng)計(jì)總數(shù)。例如:N=108時(shí)有一個(gè)等式123-45+6+7+8+9=108

89、編程實(shí)現(xiàn)復(fù)數(shù)的+、-、*三種運(yùn)算。

90、通過鍵盤輸入一個(gè)高精度的正整數(shù)N,去掉其中的任間S個(gè)數(shù)字后剩下的數(shù)字按原來的左右次序瘵組成一個(gè)新的正整數(shù)。編程結(jié)給定的N和S,尋找一種方案使得剩下的數(shù)字組成的新數(shù)最小。

91、給定某年某月某日,將其轉(zhuǎn)換成這一年的第幾天。

92、在一個(gè)黑袋中共有N個(gè)白球和黑球(N>0),袋外還有一些白球。每次隨機(jī)從袋中取出兩球,若取出的球顏色相同,則放回一白球;若取出兩球顏色不同,則放回一黑球,直到取完(取出最后兩球不放回)。

請編程模擬取球過程,并說明最后兩球的顏色。

93、逐個(gè)顯示文本文件的字符和其對應(yīng)的ASCII碼。

94、已知有兩個(gè)有序的整數(shù)文件file1和file2,請編程將它們合并成一個(gè)新的有序文件。

95、統(tǒng)計(jì)一篇英文中每個(gè)單詞出現(xiàn)的次數(shù)。設(shè)英文中每行不超過80個(gè)字符,單詞之間由空格、TAB或回車分隔。要求英文由鍵盤上輸入且由EOF結(jié)束(CTRL+Z+回車)。

96、將1到9這九個(gè)數(shù)分成三個(gè)三位數(shù),要求第一個(gè)三位數(shù),是第二個(gè)三位數(shù)的二倍,是第三個(gè)三位數(shù)的三倍。問應(yīng)當(dāng)怎樣分?

97、求出所有可能的以下形式的算式,每個(gè)算式中有九個(gè)數(shù)字,正好用1到9這九個(gè)數(shù)字。

(1)○○○+○○○=○○○(共有168種可能)

(2)○*○○○○=○○○○(共有2種可能)

(3)○○*○○○=○○○○(共有7種可能)

(4)○*○○○=○○*○○○(共有13種可能)

(5)○*○○○=○*○○○○(共有288種可能)

(6)○○*○○=○*○○○○(共有7種可能)

(7)○○*○○=○○*○○○(共有11種可能)

98、任意給出8個(gè)數(shù),將這8個(gè)放在正方體的八個(gè)頂點(diǎn)上,要求每個(gè)面上的4個(gè)之和都相等。

99、輸入一字符串,并建立鏈表,每個(gè)結(jié)點(diǎn)保存一個(gè)字符并輸出。

100、從鍵盤上輸入一行字符串,將小轉(zhuǎn)換成大寫字母,并保存到文件test中。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多