C语言数组中最大的数及其位置

题干:任意读入10个整数存放到数组a中,在main()中完成如下功能。找出其中最大的数,给出其在数组中的位置,如果非只一个最大数,则需要给出所有的最大数在数组中的位置。

#include<stdio.h>
int main()
{
  int a[10];
  int i,j,k,m;
  for(i=0;i<10;i++)
  {
    scanf("%d",&a[i]);
  }
  m=a[0];
  for(i=0;i<10;i++)
  {
    if(a[i]>=m)
      m=a[i];        //记录最大值 
  }
  printf("最大值是%d,其在数组中位置是",m);
  for(i=0;i<10;i++)
  {
    if(a[i]==m)     //输出所有最大值的位置 
      printf(" %d",i);
  }
  return 0;
}

欢迎批评指正~

  • 14
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: 要查找c语言数组中最大值和最小值并输出位置代码,可以使用以下代码: int max_num = array[0]; int min_num = array[0]; int max_index = 0; int min_index = 0; for (int i=1; i<size; i++) { if (array[i] > max_num) { max_num = array[i]; max_index = i; } if (array[i] < min_num) { min_num = array[i]; min_index = i; } } printf("最大值为: %d,索引为: %d \n", max_num, max_index); printf("最小值为: %d,索引为: %d \n", min_num, min_index); ### 回答2: 以下是使用C语言编写的程序,可以查找数组中最大值和最小值,并输出它们的位置代码: ```c #include <stdio.h> // 定义组的长度 #define LENGTH 10 // 函声明 void findMaxAndMin(int array[], int length); int main() { // 定义组 int array[LENGTH] = {6, 2, 8, 4, 5, 1, 9, 3, 10, 7}; // 调用函查找数组中最大值和最小值 findMaxAndMin(array, LENGTH); return 0; } // 查找数组中最大值和最小值,并输出它们的位置代码 void findMaxAndMin(int array[], int length) { // 初始化最大值和最小值为组的第一个元素 int max_value = array[0]; int min_value = array[0]; // 初始化最大值和最小值的位置为0 int max_position = 0; int min_position = 0; // 遍历组,查找最大值和最小值及其位置 for (int i = 1; i < length; i++) { if (array[i] > max_value) { max_value = array[i]; max_position = i; } if (array[i] < min_value) { min_value = array[i]; min_position = i; } } // 输出最大值和最小值及其位置代码 printf("数组中最大值为%d,位置为%d\n", max_value, max_position); printf("数组中的最小值为%d,位置为%d\n", min_value, min_position); } ``` 以上程序创建了一个包含10个元素的整组,然后调用`findMaxAndMin`函来查找数组中最大值和最小值,并输出它们的位置代码。要测试不同的组,只需修改`array`组的元素即可。程序将输出包括最大值和最小值的位置代码。 ### 回答3: 下面是C语言的代码示例,用于查找数组中最大值和最小值,并输出它们的位置。 ```c #include <stdio.h> void findMinMax(int arr[], int size, int *max, int *min, int *maxIndex, int *minIndex) { *max = *min = arr[0]; *maxIndex = *minIndex = 0; for (int i = 1; i < size; i++) { if (arr[i] > *max) { *max = arr[i]; *maxIndex = i; } if (arr[i] < *min) { *min = arr[i]; *minIndex = i; } } } int main() { int arr[] = { 5, 2, 9, 3, 6 }; int size = sizeof(arr) / sizeof(arr[0]); int max, min, maxIndex, minIndex; findMinMax(arr, size, &max, &min, &maxIndex, &minIndex); printf("最大值:%d,位置:%d\n", max, maxIndex); printf("最小值:%d,位置:%d\n", min, minIndex); return 0; } ``` 代码中的`findMinMax`函用于查找最大值和最小值,它将组元素的地址作为参传递,并使用指针返回最大值,最小值以及它们的位置。在`main`函中,我们定义一个整组`arr`,使用`findMinMax`函查找最大值和最小值,并输出它们的位置。运行代码会输出以下结果: ``` 最大值:9,位置:2 最小值:2,位置:1 ``` 这表示数组中最大值为9,位于索引2的位置;最小值为2,位于索引1的位置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙南花已开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值