//从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。将程序补充完整。
#include <stdio.h>
void FindMax(int num[], int n, int *pMax, int *pMaxPos); // 找最大值及其所在下标位置
void FindMin(int num[], int n, int *pMin, int *pMinPos); // 找最小值及其所在下标位置
int main(void) {
int num[10], maxValue, maxPos, minValue, minPos, i;
for (i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
FindMax(num, 10, &maxValue, &maxPos);
FindMin(num, 10, &maxValue, &maxPos);
printf("Max=%d, Position=%d, Min=%d, Position=%d\n", maxValue, maxPos, minValue, minPos);
return 0;
}
void FindMax(int num[], int n, int *pMax, int *pMaxPos) // 找最大值及其所在下标位置
{
static int i;
static int j, cnt = 0;
for (j = 0; j < n; j++)
{
for (i = 0; i < n; i++)
{
if (num[j] >= num[i])
{
++cnt;
}
if (cnt == n)
{
*pMax = num[j];
*pMaxPos = j+1;
printf("%d\n", j);
}
}
cnt = 0;
//printf("check\n");
}
}
void FindMin(int num[], int n, int *pMin, int *pMinPos) // 找最小值及其所在下标位置
{
static int i;
static int j, cnt = 0;
for (j = 0; j < n; j++)
{
for (i = 0; i < n; i++)
{
if (num[j] <= num[i])
{
cnt++;
}
if (cnt == n)
{
*pMin = num[j];
*pMinPos = j+1;
}
}
cnt = 0;
}
}
为什么这串代码无法实现功能?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 南七灵 2021-12-29 20:23关注
22行
FindMin(num, 10, &minValue, &minPos);本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类