//从键盘任意输入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;
}
}
22行
FindMin(num, 10, &minValue, &minPos);
//从键盘任意输入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=0, maxPos=0, minValue=0, minPos=0, i;
for (i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
FindMax(num, 10, &maxValue, &maxPos);
FindMin(num, 10, &minValue, &minPos);
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;
return;
}
}
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;
return;
}
}
cnt = 0;
}
}
帮你修改好了
//从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。将程序补充完整。
#include <stdio.h>
#include <limits.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, &minValue, &minPos);
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) // 找最大值及其所在下标位置
{
*pMax = INT_MIN;
for (int i = 0; i < n; i++)
{
if (num[i] > *pMax)
{
*pMax = num[i];
*pMaxPos = i;
}
}
}
void FindMin(int num[], int n, int *pMin, int *pMinPos) // 找最小值及其所在下标位置
{
*pMin = INT_MAX;
for (int i = 0; i < n; i++)
{
if (num[i] < *pMin)
{
*pMin = num[i];
*pMinPos = i;
}
}
}
//从键盘任意输入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, &minValue, &minPos);
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) // 找最大值及其所在下标位置
{
int i;
int j, cnt = 0;
int max=num[0];
for (j = 0; j < n; j++)
{
if(num[j]>=max)
{
max=num[j];
*pMaxPos = j+1;
}
}
*pMax = max;
//printf("max:%d\n",max);
/*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) // 找最小值及其所在下标位置
{
int i;
int j, cnt = 0;
int min=num[0];
for (j = 0; j < n; j++)
{
if(num[j]<=min)
{
min=num[j];
*pMinPos = j+1;
}
}
*pMin = min;
// printf("min:%d\n",min);
/*for (i = 0; i < n; i++)
{
if (num[j] <= num[i])
{
cnt++;
}
if (cnt == n)
{
*pMin = num[j];
*pMinPos = j+1;
}
}
cnt = 0;
}*/
}