C語言 初學程式設計小試題

2021-10-06 16:11:28 字數 2052 閱讀 4501

1.有個陣列,找出第二大的數,並且列印出來

int a = ;

方法一:陣列

int

main()

;int max = a[0]

;int max2 =

-10000

;int len =

sizeof

(a)/

sizeof

(int);

for(

int i =

0; i < len; i++)}

for(

int i =

0; i < len; i++)}

printf

("第二大的數:%d\n"

, max2)

;return max2;

}

方法二:指標

int

main01()

;int max =

*a;int max2 =

-10000

;int len =

sizeof

(a)/

sizeof

(int);

printf

("len:%d\n"

, len)

;for

(int i =

0; i < len; i++)}

for(

int i =

0; i < len; i++)}

printf

("第二大的數:%d\n"

, max2)

;return max2;

}

方法三:指標

int

main

(void);

int* qian = a,

* zhong = a,

* hou = a;

int i =

sizeof

(a)/

sizeof

(*a)

;while

(i--

)elseif(

*zhong <

*hou)

hou++;}

printf

("%d\n"

,*zhong)

;system

("pause");

return0;

}

方法四:

s1:假設陣列中前2個元素就是最大max和第二大smax

s2:從陣列的第2號元素開始遍歷陣列,當有元素大於max的時候,smax=max,max=最大的那個元素

s3:如果當前元素小於max,並且大於smax,那麼就讓smax等於這個元素

#define _crt_secure_no_warnings

#include

#include

#include

#include

#include

intmain()

;int max = a[0]

;int smax = a[1]

;for

(int i =

1; i <

sizeof

(a)/

sizeof

(a[0])

; i++

)else

if(a[i]

>smax)

}printf

("最大值:%d\n"

, max)

;printf

("第二大值:%d\n"

, smax)

;return0;

}

2.不使用庫函式,實現字串拷貝功能

char src[100] = 「hello」;

char dst[100]; //把src的內容拷貝給dst

int

main()

printf

("%s\n"

, dst)

;return0;

}

C語言程式設計錯誤大賞,獻給初學C語言程式設計的童鞋們

1 寫識別符號時,忽略了大小寫字母的區別 main 編譯程式把a和a認為是兩個不同的變數名,而顯示出錯資訊。c認為大寫字母和小寫字母是兩個不同的字元。習慣上,符號常量名用大寫,變數名用小寫表示,以增加可讀性。2 忽略了變數的型別,進行了不合法的運算 main 是求餘運算,得到a b的整餘數。整型變數...

初學C語言

學習c快2周了,剛開始還是覺得比較有興趣,到現在進入多重迴圈和陣列的時候就有些吃力了。其實很多時候看別人寫的 覺得很簡單,自己恍然覺得怎麼那麼笨,那麼簡單的東西都沒想到。但是實際讓自己寫的時候就有點無從下手的感覺,能想但不能寫,或者寫的很長。ps 老師說多敲敲 增強語感 這些都是見識的少了的 準備每...

初學C語言

我的第乙個c程式 include int main 交換兩個字元變數ab include int main 求球體的表面積和體積 define pi 3.141593 include int main 關於時間問題的處理 include int main 求兩個整數的商 保留小數點後兩位 inclu...