输入整数n,再输入n个整数存入数组中,编写c语言程序输出数组中最大值的下标。若有多个最大值,则输出第一个最大值的下标。
时间: 2024-02-12 16:06:29 浏览: 82
好的,这是一个比较基础的数组操作题。下面是示例代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a[n];
int maxIndex = 0; // 最大值下标初始化为0
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] > a[maxIndex]) {
maxIndex = i; // 更新最大值下标
}
}
printf("%d\n", maxIndex);
return 0;
}
```
首先,从输入中读入整数n,表示数组的元素个数。然后定义一个大小为n的整型数组a。接着,使用for循环将n个整数读入数组a中,并同时找出最大值的下标。
在循环中,首先使用scanf读入一个整数,并存入数组a的第i个元素中。接着,使用if语句判断当前输入的数是否大于数组中已知的最大值。如果是,则将最大值下标更新为当前下标i。
最后,输出最大值下标即可。
相关问题
用c语言写从键盘输入整数n,再输入n个整数存入数组中,编写程序输出数组中最大值的下标。若有多个最大值,则输出第一个最大值的下标
好的,我来为您解答这个问题。以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int n, i, max, index;
int arr[100];
printf("请输入整数n:");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
max = arr[0];
index = 0;
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
printf("最大值的下标为%d\n", index);
return 0;
}
```
首先,我们定义了一个数组`arr`来存储输入的整数,数组的大小为100,这里默认输入不超过100个整数。然后,我们先输入整数`n`,再依次输入`n`个整数,存储到数组`arr`中。
接着,我们定义了变量`max`来保存当前最大值,变量`index`来保存最大值的下标。我们将数组的第一个元素作为初始的最大值,并将下标设为0。然后依次遍历数组的其他元素,如果发现有比当前最大值还要大的数,就将这个数作为新的最大值,并更新下标。
最后,我们输出最大值的下标`index`即可。
输入一个正整数n(1<n≤10),再输入n个整数,将他们存入数组a中。c语言输出最大值和它对应的下标,并将最大值与最后一个数交换,输出交换后的n个数。
可以按照以下步骤实现:
1. 定义一个长度为 n 的整型数组 a。
2. 用循环读入 n 个整数,并将它们存入数组 a 中。
3. 定义变量 max 和 max_index,分别表示数组中的最大值和最大值所在的下标,初始值分别为数组第一个元素和 0。
4. 用循环遍历数组 a,如果当前元素比 max 大,则更新 max 和 max_index 的值。
5. 输出最大值和它对应的下标。
6. 将最后一个数与最大值所在的位置交换,可以使用一个中间变量 temp。
7. 输出交换后的 n 个数。
下面是一份实现代码,供参考:
```c
#include <stdio.h>
int main() {
int n, i, max, max_index, temp;
int a[10];
printf("Enter n: ");
scanf("%d", &n);
printf("Enter %d integers: ", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
max = a[0];
max_index = 0;
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
max_index = i;
}
}
printf("The maximum value is %d, at index %d.\n", max, max_index);
// 交换最大值和最后一个数
temp = a[n-1];
a[n-1] = max;
a[max_index] = temp;
printf("After swapping, the numbers are: ");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
需要注意的是,这份代码并没有对输入的数据进行错误处理,比如输入的 n 不在要求的范围内或者输入的数据不是整数等情况。在实际应用中,需要对这些情况进行处理以保证程序的稳定性和正确性。
阅读全文