函数实验报告(C语言)

编程实现数组功能处理的一组函数,并编写main函数测试函数,数组功能处理函数要求如下:
int maxValue(int a[],int n):对含有n个元素的数组a,求出其最大值,并返回最大值。
int minValue(int a[],int n):对含有n个元素的数组a,求出其最小值,并返回最小值。
void sortArray(int a[],int n):对含有n个元素的数组a,升序排序其中的元素,排序后元素仍在数组a中。
int deleteValue(int a[],int n,int x):对含有n个元素的数组a,查找x是否在数组a中,若存在,返回x的下标,若不存在,返回-1。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    system("title silu");            //设置标题
    system("color F5");                                       //调整界面背景颜色和字体颜色
    int n,i,x;
    printf("请输入要储存的数据个数:");
    scanf("%d",&n);
    int a[n];                                                 //定义一个数组用来储存数据
    printf("请输入要储存的数据:");
    for(i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }

         /**求数据的最大值**/
    int maxValue(int a[],int n);                               //声明函数
    printf("数组中的最大值是:%d",maxValue(a,n));              //调用函数,输出数据
    printf("\n");

        /**求数据的最小值**/
    int minValue(int a[],int n);                               //声明函数
    printf("数组中的最小值是:%d",minValue(a,n));              //调用函数,输出数据
    printf("\n");

           /**将数据排序**/
    void sortArray(int a[],int n);                             //声明函数
    sortArray(a,n);                                            //调用函数
    printf("数组升序排序:");
    for(i=0; i<n; i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");

          /**查询数据**/
    printf("请输入要查询的数据:");
    scanf("%d",&x);
    int deleteValue(int a[],int n,int x);                      //声明函数
    deleteValue(a,n,x);                                        //调用函数
    if(deleteValue(a,n,x)!=-1)
    {
        printf("%d 该数据储存在数组的第 %d 项中",a[deleteValue(a,n,x)],deleteValue(a,n,x));
    }
    else
    {
        printf("该数据不存在");
    }
}

/********数组最大值********/
int maxValue(int a[],int n)                                     //定义函数
{
    int i,max;
    max=a[0];
    for(i=1; i<n; i++)                                          //用选择排序法输出最大数据
    {
        if(max<a[i])                                            //将最大值放置在a[0]中
        {
            max=a[i];
        }
    }
    return max;
}

/********数组最小值********/
int minValue(int a[],int n)                                      //定义函数
{
    int i,min;
    min=a[0];
    for(i=1; i<n; i++)                                            //用选择排序输出最小值
    {
        if(min>a[i])                                              //将最小值放在a[0]中
        {
            min=a[i];
        }
    }
    return min;
}

/********数组升序排序********/
void sortArray(int a[],int n)                                     //定义函数
{
    int i,j,temp;
    for(j=0; j<n-1; j++)                                           //用冒泡排序进行升序排列
    {
        for(i=0; i<n-1-j; i++)
        {
            if(a[i]>a[i+1])
            {
                temp=a[i];                                         //用中间变量进行数据交换
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    }
}

/***************查询数据***************/
int deleteValue(int a[],int n,int x)                                   //定义函数
{
    int i;
    for(i=0; i<n; i++)                                                 //循环判断数据是否存在
    {
        if(x==a[i])
        {
            return (i);
            break;
        }
    }
    return (-1);
}

客官记得一键三连啊!


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S1Lu

多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值