今日学习数组!
水仙花数程序:
水仙花数就一个数,比如153,将其个数百分位都拆开,1,5,3,如果三个数字的三次方的和加起来等于原来的数153,就是水仙花数。
接下来讲讲数组:
int a[10],这个是一维数组,其中int为变量类型,a为数组名,10表示数组的大小,数组中共10个整型元素的意思。数组下标(即【】里的数)是从0开始计数的
初始化的方式:
这边新增一个知识点:sizeof
sizeof()是一个关键字,不是函数。作用是计算括号中对应数据的内存空间的大小。
如果要计算数组中元素的个数,可以把整个数组的大小除于数组中一个元素的大小,就获得总个数。比喻:一共10kg苹果,1个苹果1kg,即有10个苹果。
代码为:size = sizeof(array)/sizeof(array[0]) ; //array为一个数组。
取地址的代码:printf("address: %p",&array[data]);
1. 数组初始化及逆序输出:
2. 斐波那契数列
思路:斐波那契数列就是其中一项等于其前两项的和,先定义数组的第0项和第1项的具体数值,再利用for循环就可以了。
3. 冒泡排序法
所谓冒泡排序法就是重量轻的泡泡往水面上冒,将较小的数往前面排,一个接着一个。
第一轮:
第一个跟第二个比,判断是否交换;
第二个跟第三个比,判断是否交换;
第三个跟第四个比,判断是否交换;
第二轮:
第一个跟第二个比,判断是否交换;
第二个跟第三个比,判断是否交换;
第三轮:
...
4. 简单选择排序法
简单选择排序可以说是冒泡排序的一种改版,它不再两两比较出较小数就进行交换,而是每次遍历比较当前数的后面的所有数,最后再把最大的数和当前数进行交换。
第一轮:
第一个跟第二个比,判断是否交换;
第一个跟第三个比,判断是否交换;
第一个跟第四个比,判断是否交换;
第二轮:
第二个跟第三个比,判断是否交换;
第二个跟第四个比,判断是否交换;
.....