C c程式設計經典

在C語言編程中,有許多經典和常用的程式設計和算法。以下是一些例子:

1. Hello, World!:這是一個非常基本的程式,它僅僅是在螢幕上列印出"Hello, World!"。這個程式是一個很好的入門示例,因為它展示了如何使用C語言的基本語法。

```c

#include

int main() {

printf("Hello, World!");

return 0;

}

```

2. 排序算法:C語言提供了許多排序算法的實現,如冒泡排序、插入排序、選擇排序、快速排序等。以下是一個使用冒泡排序算法的簡單示例:

```c

#include

void bubbleSort(int arr[], int n) {

int i, j;

for (i = 0; i < n-1; i++) {

for (j = 0; j < n-i-1; j++) {

if (arr[j] > arr[j+1]) { // 交換位置

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

int arr[] = {64, 34, 25, 12, 22, 11, 90};

int n = sizeof(arr)/sizeof(arr[0]); //計算數組元素個數

bubbleSort(arr, n);

printf("Sorted array: \n");

for(int i=0; i

printf("%d ", arr[i]);

return 0;

}

```

3. 計算斐波那契數列:這是一個經典的算法問題,可以用遞歸或循環來解決。以下是使用循環的簡單示例:

```c

#include

int fibonacci(int n) {

if(n<=0) return 0;

else if(n==1) return 1;

else return fibonacci(n-1) + fibonacci(n-2); //遞歸版本也是可以的,但是循環版本更簡單易懂。

}

int main() {

int n = 10; // 要計算的斐波那契數列的項數

printf("斐波那契數列的前 %d 項是: ", n);

for(int i = 0; i

printf("%d ", fibonacci(i)); //輸出斐波那契數列的值

}

return 0;

}

```

4. 二分查找:這是一個經典的搜尋算法,用於在已排序的數組中查找特定的元素。以下是一個簡單的二分查找示例:

```c

#include

int binarySearch(int arr[], int l, int r, int x) { // l 是數組的起始位置,r 是結束位置,x 是要查找的值。返回值是元素的位置(如果找到的話),否則返回 -1。

if (r >= l) { // 如果 r 大於等於 l,就進行搜尋。否則返回 -1。

int mid = l + (r - l) / 2; // 計算中間位置。注意這裡我們假設數組是已排序的,所以 r - l 是整數。

if (arr[mid] == x) return mid; // 如果找到目標元素,就返回它的位置。否則,在中間元素的右側部分進行搜尋。因為右半部分不可能大於中間元素的右側部分(即 mid + 1)。所以如果目標元素在右側部分,那麼它一定在中間元素的左側部分(即 mid)。所以,我們只需要在左側部分進行搜尋即可。這就是二分查找的基本思想。

else if (arr[mid] > x) return binarySearch(arr, l, mid - 1, x); // 如果目標元素在左側部分,那麼它在中間元素的左側部分或中間元素的位置上。所以我們需要繼續在左側部分進行搜尋。否則返回 -1。這就是二分查找的基本步驟。注意這裡我們假設數組是已排序的,所以中間元素右側部分的元素不可能大於中間元素。所以如果目標元素在右側部分,那麼它一定在中間元素的左側部分或中間元素的位置上。因此,我們只需要繼續在左側部分進行搜尋即可。這是二分查找的關鍵步驟。但是如果我們正在查找的元素比中間元素小,那麼我們可能找到了一個錯誤的位置(即一個錯誤的結果)。因此我們需要檢查這一點並

以上就是【C c程式設計經典】的相關內容,敬請閱讀。