补充:printf(“%p”,&a); 输出a的地址
1.sizeof用来计算大小,是一个关键字
size=sizeof(array)/sizeof(array[0]);
//用sizeof求出数组的内存空间大小再除以数组中一个元素的大小就能计算出有多少个元素
2.斐波那契数列
F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。
#include<stdio.h>
int main()
{
int arr[30];
int i;
int size;
size=sizeof(arr)/sizeof(arr[0]);
arr[0]=0;
arr[1]=1;
for(i=2;i<size;i++){
arr[i]=arr[i-1]+arr[i-2];
}
for(i=0;i<size;i++){
printf("%d ",arr[i]);
}
printf("\ndone\n");
return 0;
}
3.冒泡排序(12,8,13,9)
0 1 2 max
8 12 13 9 8 12 13 9 8 12 9 13 13
8 12 9 8 9 12 12
8 9 9
i=len-1=4-1=3
j=len-1-i
#include<stdio.h>
int main()
{
int array[]={12,8,13,9};
int i;
int j;
int tmp;
int len=sizeof(array)/sizeof(array[0]);
for(i=0;i<len-1;i++){
for(j=0;j<len-1-i;j++){
if(array[j]<array[j+1]){//由小到大把 < 改成 >
tmp=array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
for(i=0;i<len;i++){
printf("%d ",array[i]);
}
return 0;
}
4.简单选择排序(12,8,13,9)
#include<stdio.h>
int main()
{
int array[]={12,8,13,9};
int i;
int j;
int tmp;
int len=sizeof(array)/sizeof(array[0]);
for(i=0;i<len-1;i++){
for(j=i+1;j<len;j++){
if(array[i]<array[j]){
tmp=array[i];
array[i]=array[j];
array[j]=tmp;
}
}
}
for(i=0;i<len;i++){
printf("%d ",array[i]);
}
return 0;
}
5.二维数组可以不写行,列一定要写
6.二维数组找最大值
#include<stdio.h>
int main()
{
int i;
int j;
int hang;
int lie;
int arry[3][4]={1,12,23,84,15,116,347,68,89,100,131,121};
int max;
max=arry[0][0];
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%d\t",arry[i][j]);
}
putchar('\n');
}
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(max<arry[i][j]){
max=arry[i][j];
hang=i;
lie=j;
}
}
}
printf("%d行%d列%d\n",hang+1,lie+1,max);
return 0;
}