编程实现数组功能处理的一组函数,并编写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);
}