陣列 選擇排序 putchar gets

2023-02-07 21:41:16 字數 2481 閱讀 3319

陣列初始化:

定義一個陣列,不完全初始化,那麼未初始化的值都為0

定義一個陣列,不初始化,裡面全都是垃圾值

讓陣列全部初始化0   可以 int a[500] = ;     

陣列初始化錯誤:

int a[5] ;

b = //這樣嚴重不可以,因為b是一個地址

int b[5]= ;//這樣也不可以,不能中途出現未初始化的

int a[10];

printf("%p %p %p",  &a[0] , a , &a)   //這三個值一樣

printf("%p %p %p",  &a[0]+1,  a +1, &a+1)   //不一樣

a+1   代表第一個元素地址+1   相當於加了1個型別長度的位元組 -------->  所以才有了a[1]

&a代表整個陣列,+1 相當於加了10個型別長度的位元組

可變長陣列:

c89不支援可變陣列,c99支援可變陣列

c89不支援for(int i=0;i<10;i++) c99支援這樣寫

定義陣列的時候,必須要知道陣列的長度    int a ;//嚴重錯誤

定義陣列長度的時候,最好使用巨集 

#define n 5

int a[n];

獲取陣列的長度:

int a = ; 

int len = sizeof(a)/sizeof(int);  //  或者

sizeof(a)/sizeof(a[0]);

printf("%d\n",len);

陣列間的賦值:

int a[5] = ;

int b[5];

b = a;//嚴重錯誤,這是地址間的賦值,兩個陣列直接的賦值應該for,   

隨機數:

srand(1);//生成隨機數種子

rand();//根據種子來產生隨機數  

在 stdlib.h

選擇排序:

void

select_sort

(inta,

intn

)

temp =a

[i];

a[i

]=a[

min];

a

[min]=

temp

;

}

}

}

維基百科的選擇排序

void

selection_sort

(int*a

,int

len)

}

}

氣泡排序:

int main()

;int i;

printf("氣泡排序前:\n");

for (i = 0; i < 5;i++)

printf("\n");

int m, n,temp;

for (m = 0; m < 5 - 1;m++)

}
}

printf("氣泡排序後:\n");

for (i = 0; i < 5; i++)

printf("\n");

return 0;

}

putchar :

putchar('\n');//這裡是單引號,如果用雙引號,錯誤       含義是一次打出一個字元

printf("\n"); //這裡是雙引號,如果用單引號,錯誤

getchar:

//getchar 只能接收一個字元

char ch;

char tmp;

while (1)

else if (ch >= 'a' && ch <= 'z')

else if (ch >= 'a' && ch <= 'z')

else

}gets :

gets(a) //a要是個指標 空格也能接收

puts:

int main()

來自為知筆記(wiz)

陣列排序 選擇排序

原理 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處。依次迴圈。package cn.itcast 01 public class arraysort selectsort int arr int arr system.out.println 排序前 printa...

陣列排序(2) 選擇排序

一 選擇排序 表現最穩定的排序演算法之一,因為無論什麼資料進去都是o n2 的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不佔用額外的記憶體空間了吧。選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排...

陣列排序之選擇排序

package cn.itcast 02 陣列排序之選擇排序 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處 public class arraydemo system.out.println 排序前 printarray arr 第一次 int x 0 for ...