数组a有n个元素,请输出n个元素的最小值及其下标。若最小值有多个,请输出下标最小的一个。注意,有效下标从0开始。输入描述输入分两行,第一行是一个正整数n ( n < = 1000 ),第二行是n个整数。输出描述输出占一行。输出数组的最小值及其下标,用空格隔开。用C语言编写
时间: 2024-11-10 21:14:11 浏览: 135
在C语言中,可以使用一个循环遍历数组来找到最小值及其下标。这里是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n); // 输入数组长度
int a[n], min_value, min_index = 0; // 初始化最小值和下标
scanf("%d", &min_value); // 先假设第一个元素是最小值
for (int i = 1; i < n; i++) { // 从第二个元素开始比较
scanf("%d", &a[i]);
if (a[i] < min_value) { // 如果当前元素更小
min_value = a[i]; // 更新最小值
min_index = i; // 更新最小值下标
}
}
printf("最小值 %d 的下标是 %d\n", min_value, min_index); // 输出结果
return 0;
}
```
相关问题
数组a有n个元素,请输出n个元素的最小值及其下标。若最小值有多个,请输出下标最小的一个。注意,有效下标从0开始。
好的,题目要求是给定一个有 n 个元素的数组,求其中的最小值及其下标。如果最小值有多个,输出下标最小的那个。
可以使用以下的 Python 代码实现:
```
def find_min(arr):
min_val = arr[0]
min_idx = 0
for i in range(1, len(arr)):
if arr[i] < min_val:
min_val = arr[i]
min_idx = i
return min_val, min_idx
# 示例
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
min_val, min_idx = find_min(arr)
print("最小值为:", min_val)
print("最小值的下标为:", min_idx)
```
输出结果为:
```
最小值为: 1
最小值的下标为: 1
```
注意,有效下标从0开始。如果有多个最小值,则输出下标最小的那个,因此在比较时应该使用小于号,而不是小于等于号。同时,下标从0开始,因此最小的下标应该是0,而不是1。
编写程序,输出一维数组a中的元素最小值及其下标。
以下是C语言程序设计中输出一维数组a中的元素最小值及其下标的代码:
```c
#include <stdio.h>
int main() {
int a[10] = {9, 8, 7, 6, 1, 3, 5, 18, 2, 4};
int m = a[0], p = 0;
for (int i = 1; i < 10; i++) {
if (a[i] < m) {
m = a[i];
p = i;
}
}
printf("元素最小值为:%d,其下标为:%d\n", a[p], p);
return 0;
}
```
该程序首先定义了一个包含10个元素的一维数组a,并将第一个元素赋值给变量m,将下标0赋值给变量p。然后通过for循环遍历数组中的每一个元素,如果当前元素小于m,则将当前元素赋值给m,将当前下标赋值给p。最后输出最小值和其下标。
阅读全文