陣列和字串的運用

2021-08-30 13:55:17 字數 2637 閱讀 3305

1、調整陣列使奇數全部都位於偶數前面。

題目:輸入乙個整數陣列,實現乙個函式,

來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,

所有偶數字於陣列的後半部分。

判斷第乙個數是不是奇數,若果是奇數,那就不移動,然後看下乙個數,如果是偶數,那就把這個數放在最後乙個位置。如果有發現乙個偶數,就放在倒數第二個位置,以此類推。當後面向前移動的位置和要比較的那個數重合了。會停止迴圈。

//c語言

2、楊氏矩陣

有乙個二維陣列.

陣列的每行從左到右是遞增的,每列從上到下是遞增的.

在這樣的陣列中查詢乙個數字是否存在。

時間複雜度小於o(n);

陣列://1 2 3     //1 3 4    //1 2 3

//2 3 4     //2 4 5    //4 5 6

//3 4 5     //4 5 6    //7 8 9

//c語言

#define _crt_secure_no_warnings

#include#include//楊氏矩陣

//有乙個二維陣列.

//陣列的每行從左到右是遞增的,每列從上到下是遞增的.

//在這樣的陣列中查詢乙個數字是否存在。

//時間複雜度小於o(n);

陣列://1 2 3 //1 3 4 //1 2 3

//2 3 4 //2 4 5 //4 5 6

//3 4 5 //4 5 6 //7 8 9

//思路:

//因為是一行和一列都是遞增的,所以可以從最後乙個數進行比較

//然後從最後乙個數到第乙個數進行遍歷的比較

void to_find(int arr[3][3],int num,int row,int col)

else if (num < arr[0][0])

else

while ((row>=0)&&(col>=0))

else if (num3、實現乙個函式,可以左旋字串中的k個字元。

abcd左旋乙個字元得到bcda

abcd左旋兩個字元得到cdab

//c語言

#define _crt_secure_no_warnings

#include#include#include//實現乙個函式,可以左旋字串中的k個字元。

//abcd左旋乙個字元得到bcda

//abcd左旋兩個字元得到cdab

//思路//

//輸入k次

//第乙個迴圈的第一次迴圈時候,第乙個字元儲存起來,然後第乙個字元的位置存第二個字元,一次類推,最後乙個位置會空出來

////然後吧第乙個字元複製到最後乙個位置上

//然後迴圈k次

void to_reversek(char* arr, int length, int k)

*start = j;

--k;

} printf("%s", arr);

}void main()

else

} system("pause");

}

4、判斷乙個字串是否為另外乙個字串旋轉之後的字串。例如:給定s1 =aabcd和s2 = bcdaa,返回1,給定s1=abcd和s2=acbd,返回0.

aabcd左旋乙個字元得到abcda

aabcd左旋兩個字元得到bcdaa

aabcd右旋乙個字元得到daabc

//c語言

#define _crt_secure_no_warnings

#include#include#include//判斷乙個字串是否為另外乙個字串旋轉之後的字串。

//例如:給定s1 = aabcd和s2 = bcdaa,返回1,給定s1 = abcd和s2 = acbd,返回0.

////aabcd左旋乙個字元得到abcda

//aabcd左旋兩個字元得到bcdaa

////aabcd右旋乙個字元得到daabc

int judge_rotating(char* str1, char* str2)

*start = j;

--lenght;

if (0 == strcmp(str1, str2))//用上次判斷旋轉的思路,然後比較兩個字串是否相同就行了。

}return 0;

}void main()

字串的運用

目錄name nick print name name nick print name gender male poem 鋤禾日當午,汗滴禾下土 誰知盤中餐,粒粒皆辛苦 print poem poem 鋤禾日當午,汗滴禾下土 誰知盤中餐,粒粒皆辛苦 print poem print nick s n...

字串和字串陣列

字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...

字串和字串陣列和 0

c語言中字串為什麼要有 0呢?0在字串中的作用是什麼 0 在字串中標誌著結尾 用來判斷這個字串已經結束 如果不新增 0 系統就在記憶體中一直向後讀,直到讀到 0 為止 這個情況就造成錯誤 乙個語句結束了,就用分號 表示結束 首先要區分,字元,字元陣列,字串的區別。字串預設的最後會有 0 char k...