美文网首页
2020-05-23 Class 14数组

2020-05-23 Class 14数组

作者: 黄灯浸茶 | 来源:发表于2020-05-23 12:23 被阅读0次

访问数组元素是间接访问

//输入数组各元素
//一个形参是数组,一个是数组的长度

  void getArray(int a[],int n)
{
    int i;

    for(i=0;i<n;i++)
  {
      scanf("%d",&a[i]);
  }
}

void putArray(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
}

int main()
{
  int a[8];

  getArray(a,8);
  putArray(a,8);
}

int main()
{
    int a[8];
    getArray(a,8);
    putArray(a,8);

    adjust(a,8);

    putArray(a,8);

}

 void getArray(int a[],int n)
{
    int i;

    for(i=0;i<n;i++)
  {
      scanf("%d",&a[i]);
  }
}

void putArray(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%4d",a[i]);

    }
    printf("\n");
}

//将长度为n的数组,扫描数组然后找出最大和最小值的下标
//最小值和首元素交换
//最大元素和最后元素交换

void adjust(int a[],int n)
{
    int maxIdx=0,minIdx=0;      //定义存储最值的下标
    int i;
    int t ;

    for(i=1;i<n-1;i++)
  {
        if(a[i]>a[maxIdx])
            maxIdx = i;

        else if(a[i]<a[minIdx])
            minIdx = i;
  }


    t = a[minIdx];
    a[minIdx]=a[0];
    a[0]=t;

    if(maxIdx==0)
        maxIdx = minIdx;

    t = a[maxIdx];
    a[maxIdx] = a[n-1];
    a[n-1] = t;

}

//当最大元素在a[0]时
//最小在a[2]时

//5 3 1 2----> 1 3 2 5

=============================================

//求输入的数字是否为素数

int isPrime(int n)
{
    int k ;
    for(k=2;k<n;k++)
    {
        if(n%k==0)
            return 0;
    }
    return 1;
}

int cntPrime(int a[],int n)
{
    int i; 
    int cot = 0;

    for(i=0;i<n;i++)
    {
        if( isPrime(a[i]))
            ++cot;
    }
    return cot;
}

相关文章

网友评论

      本文标题:2020-05-23 Class 14数组

      本文链接:https://www.haomeiwen.com/subject/ykckahtx.html