当前位置:首页 » 编程软件 » 编程数组

编程数组

发布时间: 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 浏览:1012
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 浏览:1127
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:351
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:229
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:911
python股票数据获取 发布:2025-10-20 07:39:44 浏览:875