c语言基础笔记(7.数组)

编程入门 行业动态 更新时间:2024-10-15 06:19:51

c语言基础笔记(7.<a href=https://www.elefans.com/category/jswz/34/1771288.html style=数组)"/>

c语言基础笔记(7.数组)

数组的本质就是可以一次定义多个类型相同的变量,同时一个数组中所有的元素在内存中都是顺序存放的。
但要记得在C语言中如果定义了如下数组:
Char s[100] ;//s[0] – s[99],切记没有s[100]这个元素,而且C语言编译器不会帮你检查数组的下标是否有效。
Char array[2][3][4] = {};//原则,数组维数越多,代码的可读性就越差,所以要尽可能的用维数少的数组

7.1 一维数组定义与使用

int array [10]; //定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的。
array[0] = 20 ;
array[1] = 30 ;
array[9] = 90 ;
//array[10] = 100 ; //错误,没有array[10]这个元素。

7.2 数组在内存的存储的方式

数组在内存中就是一段连续的空间,每个元素的类型是一样的。

7.3 一维数组初始化

int array[10] = {1,2,3,4,5,6,7,8,9,10} ;//定义数组的同时为数组的成员初始化值
int array[10] = {3,4,5} ;//将数组的前三个元素赋值,其余元素置为0
int array[10] = {0} ;//将数组所有的元素都置为0

int i;
for (i = 0; i < 10; i++)
{array[i] = 0 ;//通过循环遍历数组的每个元素,将元素的值置为0//scanf(“%d”,&array[i]);
}求数组中最大元素的值
int main()
{int array[10] = {32,5,67,98,12,54,8,78,457,10};
int max = 0;
int i;
for (i = 0; i < 10; i++) //想找最大的值,一定要把数组先遍历一遍
{if(max < array[i])max = array[i];}printf(“max = %d\n”,max);return 0;
}求数组中最小元素的值,和最小值对应的数组下标
int main()
{int array[10] = {32,5,67,98,12,54,8,78,457,10};
int min = array[0];
int index = 0; //在没有遍历数组之前,默认数组的第0号元素就是最小的元素
int i;
for (i = 1; i < 10; i++) //想找最小的值,一定要把数组先遍历一遍
{if(min > array[i]){index = i;min = array[i];}}printf(“min = %d index = %d\n”, min , index);return 0;
}求数组中所有元素的和
int main()
{int array[10] = {1,2,3,4,5,6,7,8,9,10};
int i;
int sum = 0;//存放数组和的变量
for (i = 0; i < 10; i++) //想找最大的值,一定要把数组先遍历一遍
{sum += array[i];}printf(“sum = %d\n”,sum);return 0;
}将数组元素逆置
int main()
{int array[10] = {32,5,67,98,12,54,8,78,457,10};
/*
int tmp = array[1]; //中间变量实现两个值的互换
array[1] = array[0];
array[0] = tmp;
*/
int min = 0; //数组最小下标
int max = 9; //数组最大下标
while (min < max) //两头往中间堵
{int tmp = array[min];array[min] = array[max];array[max] = tmp;min++;max--;
}printf(“max = %d min = %d\n”, max , min);return 0;
}
求100到999之间的水仙花数
int main()
{int i;for(i = 100 ;i < 1000 ;i++){Int i1=i%10; //Int i2=i/10%10; //Int i3=i/100; //If((i1*i1*i1+i2*i2*i2+i3*i3*i3) = = i)Printf(“%d\n”,i);
}
return 0;
}求一个int数组中,所有奇数元素的和
int main()
{int array[10] = {1,2,3,4,5,6,7,8,9,10};
int i;
int sum = 0;
for (i = 0; i < 10; i++) 
{if((array[i]%2) = = 1){sum += array[i];}}printf(“sum = %d\n”,sum);return 0;
}求从3到100之间所有素数打印出来  3 5 7 11 13 17 ……
int main()
{
int i; //素数是除了1和自己以外,不能被其他整数整除的整数
for (i = 3; i < 100; i++) 
{int j;int ststus = 0;for(j =2 ;j < i ; j++) //判断i是否为素数{if((i %j) = = 0){status = 1;break;
}}if(status= = 0) //代表这是个素数{printf(“%d\n”,i);
}}return 0;
}

7.4 二维数组定义与使用

int array[2][3];//定义了一个二维数组,有两个array[3]
int array[2][3] = { {1,2,3},{4,5,6} };//定义一个二维数组的同时初始化成员。

7.5 二维数组初始化

int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int array[2][3] = {0};//将二维数组中每个元素的值都初始化为0

int array[2][3] = { {1,2,3},{4,5,6} };int i,j;for(j=0;j<3;j++){int sum=0;for(i=0;i<2;i++){sum += array[i][j];}printf("%d\n",sum);//打印列的和}#include<stdio.h>
int main()//冒泡排序
{int array[10] = {34,14,8,54,23,89,56,4,45,22};int i;int j;for(i = 0;i < 10; i++){for(j = 1; j < 10 - i; j++){if(array[j-1] > array[j])//如果前面的元素大于后面的元素,那么就让这两个元素交换位置{int tmp = array[j];array[j] = array[j - 1];array[j-1] = tmp;}}}for(i=0;i<10;i++){printf("array[%d]=%d\n",i,array[i]);}return 0;
}

写在最后:最近和朋友一起在微信公众号做一些自己热爱的东西,并有许多的干货分享,大家多多关注啊!!
公众号 [越陌的数字生活]

更多推荐

c语言基础笔记(7.数组)

本文发布于:2024-02-12 12:17:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1687763.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   语言   基础   笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!