//从键盘任意输入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 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振