1,用数组输出斐波那契数列数列
#include<stdio.h>
#define N 10
void Fun(int n,int *arr)
{
arr[0]=1;
arr[1]=1;
printf("%d %d ",arr[0],*(arr+1));
for(int i=2;i<n;i++)
{
arr[i]=arr[i-1]+arr[i-2];
printf("%d ",arr[i]);
}
}
int main()
{ int arr[N]={0};
Fun(N,arr);
return 0;
}
2 const int *p=&a 与int * const p=&a;的区别
int a=10;
int b=20;
const int *p=&a;
// *p=20; error 不能通过指针改变a的值 可以这样改 p=&b;
-----------------------------------------------------------
int * const p=&a;
// p=&b; error 不能给p 重新赋值 可以这样改 *p=20;
printf("%d",*p);
----------------------------------------------------------
const int *p=&a; 表明p的指向对象是const 类型,即a的值不可修改,但p的指向可修改;
int * const p=&a; 表明指针p是const类型,不可修改, 但指向对象可修改;
4,删除数组中偶数并输出
#include<stdio.h>
int Fun(int *arr,int len) //删除偶数 并返回个数
{ int num=0;
int j=0;
for(int i=0;i<len;i++)
{ if(arr[i]%2!=0)
{
arr[j]=arr[i]; //把arr[i]中的奇数赋值给arr[j]
j++;
num++;
}
}
for(int j=0;j<num;j++)
{
printf("%d ",arr[j]);
}
return num;
}
int main()
{ int arr[8]={1,3,6,5,2,7,8,9};
int len=sizeof(arr)/sizeof(arr[0]); //求数组长度
printf("个数为:%d ",Fun(arr,len));
printf("\n");
return 0;
}
5 逆序输出
#include<stdio.h>
void Fun(int *arr,int len) //逆序输出
{ int tmp=0;
for(int i=0;i<len/2;i++) //交换值
{ tmp=arr[i];
arr[i]=arr[len-1-i];
arr[len-1-i]=tmp;
}
}
void Show(int *arr,int len) //输出数组
{
for(int i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
}
int main()
{
int arr[8]={1,3,6,5,2,7,8,9};
int len=sizeof(arr)/sizeof(arr[0]);
Fun(arr,len);
Show(arr,len);
return 0;
}