ITPub博客

首页 > 应用开发 > C/C++ > 数组操作,计算组元素的极值函数

数组操作,计算组元素的极值函数

原创 C/C++ 作者:bug不存在的 时间:2021-10-22 14:58:06 0 删除 编辑

从键盘输入数据对数组进行初始化,编写计算数组元素的最大值、最小值和平均值和删除某一个位置元素的函数。

数组操作,参见下例程序,熟悉数组运算。

#include <iostream>

using namespace std;

void sort(int T[])

{int temp;

    for (int i=0;i<20;i++)

    {

        for (int j=i+1;j<20;j++)

        {

            if (T[i]<=T[j])

            {

                temp=T[i];

                T[i]=T[j];

                T[j]=temp;

            }

        }

    }

}


int search(int T[],int key)

{

    int index;

    for(int i=0;i<20;i++)

    {

        if (T[i]==key)

        {    index=i;

            break;

        }


    }

    return index;

}

void main()

{

    int A[20]={12,23,34,10,16,45,29,34,98,56,67,78,23,44,55,66,77,88,99,69};

   

    sort(A);


    for (int i=0;i<20;i++)

    {

        cout<< A[i] <<"  ";   

    }

    int kk;

    cout<<"输入要查找的数据:";

    cin>>kk;

    kk=search(A,kk);

    cout <<"查找的数据在数组的第"<<kk<<"位置。"<<endl;



}

3、按照上例的方法生成一个一维数组,从键盘输入数据对数组进行初始化,编写计算数组元素的最大值、最小值和平均值和删除某一个位置元素的函数。


以下是我的程序

//从键盘输入数据对数组进行初始化,编写计算数组元素的最大值、最小值和平均值和删除某一个位置元素的函数//


#include "stdafx.h"

#include <iostream>

using namespace std;

int A[];


void max(int T[])//这是求最大值的函数//

{   int temp;

    for (int i=0;i<5;i++)

    {

        for (int j=i+1;j<5;j++)

        {

            if (T[i]<=T[j])

            {

                temp=T[i];

                T[i]=T[j];

                T[j]=temp;

            }

        }

    }

    cout<<T[0];

}


void min(int T[])//这是求最小值的函数//

{   int temp;

    for (int i=0;i<5;i++)

    {

        for (int j=i+1;j<5;j++)

        {

            if (T[j]<=T[i])

            {

                temp=T[i];

                T[i]=T[j];

                T[j]=temp;

            }

        }

    }

       cout<<T[0];

}


void average(int A[],int aver)//这是最平均值的函数,但不知道为什么输出的时候就是没有初始化//

{   int sum;


    for (int i=0;i<5;i++)

    {

       sum+=A[i];

    }

    aver=sum/5;

    cout<<aver;  

}

void delete_item(int A[], int item, int* n) //这是删除一个数据的函数,我自己上网找的,因为删除其中一个数据是可以找到它然后把后面的元素往前推//

{

  int i, j;

  for(i=0;i <(*n);i++)

  {

    if(A[i]==item)

    {

      for(j=i;j <(*n);j++)

        A[j]=A[j+1];

      (*n)--;

    }

  }



 

void main()

{   int aver;

    int A[5]={0};

    for(int i=0;i<5;i++)

    {

    cout<<"请输入第"<<i<<"个数据:";

    cin>>A[i];

    }

   

    cout<<"max=";

    max(A);

    cout<<""<<endl;

    cout<<"min=";

    min(A);

    cout<<""<<endl;

    cout<<"average=";

    average(A,aver);

    cout<<""<<endl;

   

    int n;

    n=sizeof(A)/sizeof(int); //这个是引用了C语言的,但是我学的是C++,希望通过visualc++6.0就可以编译//

    printf("n=%d\n", &n);

    delete_item(A, A[5], n);

for(;i<5;i++)

    {  cout<<A[i]<<" ";

    }


}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70007877/viewspace-2838791/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-10-08

  • 博文量
    23
  • 访问量
    12353