一些数组程序



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;

}

阅读更多

没有更多推荐了,返回首页