题目
题目标题:
对输入的整型数组,输出数组元素中的最大值、最大值的个数、最小值和最小值的个数
详细描述:
接口说明
原型:
voidOutputMaxAndMin(int * pInputInteger,intInputNum,int * pMaxValue,int * pMaxNum,int * pMinValue,int * pMinNum);
输入参数:
Int * pInputInteger:整型数组指针
Int InputNum:数组元素个数
输出参数(指针指向的内存区域保证有效):
int* pMaxValue:数组中最大值
int* pMaxNum:数组中最大值的个数
int* pMinValue:数组中最小值
int* pMinNum:数组中最小值的个数
返回值:
void
涉及知识点:
C语言基础:数组、比较
性能要求:
无
圈复杂度要求:
这个不由出题者提供,由后续判题系统全局配置
如:函数圈复杂度低于10,类公函数小于20等
代码工程和用例:
C/C++:
VS2005代码工程
嵌入工程的CPPUNIT用例
知识点:
工程环境请使用VS2005
题目来源: 软件训练营
维护人: d00191780
练习阶段: 初级
代码
/*---------------------------------------
* 日期:2015-06-30
* 作者:SJF0115
* 题目:数字统计
* 来源:华为上机
-----------------------------------------*/
#include <stdio.h>
/*
功能:对输入的整型数组,输出数组元素中的最大值、最大值的个数、最小值和最小值的个数
输入:int * pInputInteger:整型数组指针
int * InputNum:数组元素个数
输出:int * pMaxValue:数组中最大值
int * pMaxNum:数组中最大值的个数
int * pMinValue:数组中最小值
int * pMinNum:数组中最小值的个数
返回:void
*/
void OutputMaxAndMin(int * pInputInteger, int InputNum, int * pMaxValue, int * pMaxNum, int * pMinValue, int * pMinNum)
{
if(pInputInteger == NULL || InputNum <= 0){
return;
}//if
*pMaxValue = pInputInteger[0];
*pMinValue = pInputInteger[0];
*pMaxNum = 1;
*pMinNum = 1;
for(int i = 1;i < InputNum;++i){
// 更新最大值
if(pInputInteger[i] > *pMaxValue){
*pMaxValue = pInputInteger[i];
*pMaxNum = 1;
}//if
else if(pInputInteger[i] == *pMaxValue){
++(*pMaxNum);
}//else
// 更新最小值
if(pInputInteger[i] < *pMinValue){
*pMinValue = pInputInteger[i];
*pMinNum = 1;
}//if
else if(pInputInteger[i] == *pMinValue){
++(*pMinNum);
}//else
}//for
return;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-11 05:23:33