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...