當前位置:首頁 » 編程軟體 » 編程數組

編程數組

發布時間: 2023-02-17 21:22:30

㈠ 簡單的C語言數組編程

一般有四種數組定義方式,以一維數組為例:
//定義指定維數的數組int arr[10]; //定義不指定維數的數組,數組維數有初化列表元素個數決定。 int arr[] = {1,2,4}; //定義指定維數的數組,初始化不完全時,系統將未初始化元素初始化為0int arr[10] = {1,2}; //動態分配一個數組。

數組實例:
# include <stdio.h>

int main(void)
{
int i,a[8] = {1,2,3,4,5,6,7,8};
for(i = 0;i < 8; i++)
printf("數組元素a[%d] = %d \n",i ,a[i]);

return 0;
}

㈡ 如何利用數組編程

一、遍歷—— for循環

int arr[] ={5,6,9,48,7,35,2};for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}
二、獲取數組中的最大值

<span style="color:#ff0000;">//二:求數組中元素最大值 交換元素索引</span>public static int getArrayMax2(int[] x){int maxIndex=0;for(int i=1;i<x.length;i++){if(x[i]>x[maxIndex])maxIndex=i;}return x[maxIndex];}</span>
三、選擇排序
<span style="color:#ff0000;">//選擇排序的方式一</span>public static void selectSort(int arr[]){for(int i=0;i<arr.length-1;i++){for(int j=i+1;j<arr.length;j++){if(arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}} }}<span style="color:#ff0000;">//選擇排序方法二(推薦使用)</span>public static void selectSort1(int arr[]){for(int i=0;i<arr.length-1;i++){int index=i;for(int j=i+1;j<arr.length;j++){if(arr[index] > arr[j]){index = j;}}if(index != i){int temp = arr[index];arr[index] = arr[i];arr[i] = temp;}}}

四、冒泡排序

1、內層for循環中arr.length -1表示防止數組越界

2、內層for循環arr.length-i表示後邊的額i元素已經確定,不用比較

<span style="color:#ff0000;">//冒泡排序方式一(面試使用)</span>public static void boubleSort1(int arr[]){for(int i=0;i<arr.length-1;i++){for(int j=0;j<arr.length -1 -i;j++){if(arr[j] > arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}<span style="color:#ff0000;">//冒泡排序方式二</span>public static void boubleSort2(int arr[]){for(int i=arr.length -1;i>0;i--){for(int j=0;j<i;j++){if(arr[j] > arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}

五、二分查找

數組必須有序(從大到小或從小到大)

<span style="color:#ff0000;">//方法一</span>public static int halfSearch(int[] arr,int num){int min,max,mid;min=0;max=arr.length-1;mid = (min+max)/2;while(arr[mid]!=num) //如果num=mid,那麼跳過循環,直接返回mid的下標即是所查數的下標{if(num>arr[mid])min=mid+1; //最小值移動到中間值的右側,即中間值加1else if(num<arr[mid])max=mid-1;if(min>max)return -1;mid=(max+min)/2; //最大值移動到中間值的左側,即中間值減1}return mid;}<span style="color:#ff0000;">//

㈢ C語言編程數組

#include<stdio.h>
voidmain(){
inti,j,t,a[5][5],s1=0,s2=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
if(j==i||i+j==4)
s1+=a[i][j];
}
for(i=0;i<5;i++)
for(j=0;j<=i;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
for(i=0;i<5;i++)
{
printf(" ");
for(j=0;j<5;j++)
{
printf("%d",a[i][j]);
if(j==i||i+j==4)s2+=a[i][j];
}
}
printf(" 轉置前S=%d 轉置後S=%d",s1,s2);
}

運行示例:

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:748
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1010
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:718
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:878
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1124
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:349
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:227
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:875