10 c陣列中的一些基本演算法

2022-09-11 06:39:09 字數 3823 閱讀 1014

int getmax(int ages, int length)

}return max;

}

int getmax(int ages, int length)

}return ages[max];

}

例如: 輸入:1,3,5

輸出:0,2,4,6,7,8,9

// 1.定義變數儲存使用者輸入的值

int num1;

int num2;

int num3;

// 2.接收使用者輸入的值

printf("請輸入3個整數,用逗號隔開\n");

scanf("%d,%d,%d", &num1, &num2, &num3);

for (int i = 0; i < 10 ; i++)

}

//    1.定義陣列,陣列可以儲存10個數字,正好可以儲存0~9

int numbers[10] = ;

// 2.接收使用者的輸入,講使用者輸入的值儲存到陣列中

// 1 ,3 ,5將使用者輸入值,作為陣列的索引取陣列中修改對應索引的值

int index = -1;// 定義變數用於接收使用者輸入的值

for (int i = 0; i < 3; i++)

int length = sizeof(numbers) / sizeof(numbers[0]);

// 遍歷陣列,檢視哪些元素沒有被修改過,沒有被修改過就是沒有出現過

for (int i = 0; i < length; i++)

}

// 空間換時間, 適合資料比較少

// 1.定義陣列,儲存使用者輸入的整數

// 一定要給陣列初始化, 否則有可能是一些隨機值

int numbers[10] = ;

// 2.接收使用者輸入的整數

// 2.1定義變數接收使用者輸入的整數

int index = -1;

for (int i = 0; i < 6; i++)

int length = sizeof(numbers) / sizeof(numbers[0]);

for (int i = 0; i < length; i++)

}

//    1.定義陣列,儲存使用者輸入的整數

int numbers[10] = ;

// 2.接收使用者輸入的整數

// 2.1定義變數接收使用者輸入的整數

int index = -1;

for (int i = 0; i < 6; i++)

int length = sizeof(numbers) / sizeof(numbers[0]);

for (int i = 0; i < length; i++)

}

#include 

int main(int argc, const char * ar**) ;

int length = sizeof(nums) / sizeof(nums[0]);

for (int i = 0; i < length; i++) ;

int length = sizeof(nums) / sizeof(nums[0]);

printarray(nums, length);

//    selectsort(nums, length);

bubblesort(nums, length);

printf("----------------\n");

printarray(nums, length);

return 0;

// 遍歷陣列

void printarray(int nums, int length)

for (int i = 0; i < length; i++) ;

int length = sizeof(nums) / sizeof(nums[0]);

printf("length = %i\n", length);

for (int i = 0; i < length; i++) ;

int key = 99;

int length = sizeof(nums) / sizeof(nums[0]);

// 消耗了多少

1181

毫秒clock_t starttime = clock();

int index =  findkey(nums, key, length);

clock_t endtime = clock();

printf("消耗了多少

%lu毫秒

\n", endtime - starttime);

printf("index = %i\n", index);

// 消耗了多少1毫秒

clock_t starttime = clock();

//    int index = findkey2(nums, length, key);

// 消耗了多少2毫秒

int index = findkey3(nums, length, key);

clock_t endtime = clock();

printf("消耗了多少

%lu毫秒

\n", endtime - starttime);

printf("index = %i\n", index);

return 0;

int findkey3(int nums, int length, int key)

int min, max, mid;

min = 0;

max = length - 1;

// 只要還在我們的範圍內就需要查詢

while (min <= max) else if (key < nums[mid])

max = mid - 1;

}else

return mid;

return -1;

int findkey2(int nums, int length, int key)

int min, max, mid;

min = 0;

max = length - 1;

mid = (min + max) / 2;

while (key != nums[mid]) else if (key < nums[mid])

max = mid - 1;

// 超出範圍

, 陣列中沒有需要查詢的值

if (min > max) ;

int key = 4;

int length = sizeof(nums) / sizeof(nums[0]);

printf("需要插入的位置是

%i\n", insertvalue(nums, length, key));

return 0;

int insertvalue(int nums, int length, int key)

int min , max, mid;

min = 0;// 1 2

max = length - 1;// 4  1

while (min <= max) else if (key < nums[mid])

max = mid - 1;

return min;

10 C 中的新成員

注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 動態記憶體分配 1 c 中的動態記憶體分配 c 中通過new關鍵字進行動態記憶體申請 c 中的動態記憶體申請是基於型別進行的 delete關鍵字用於記憶體釋放 釋放陣列記憶...

C語言的一些基本演算法

天文學上的潤年 原理 年數能整除於 4且不能整除 100或者可以整除 400,下面用標準 c語言的兩種實現方式 1 平潤年的判斷 include int main void else return0 2 平潤年的判斷 include int main void else return0 3 素數的判...

一些基本演算法

1.最大奇數約數int fun int x return x int main 2 找出第二大的數,要求用for遍歷一遍const int minnum 0x80000000 int find 2 k int arr,int n else if arr i sec return sec void m...