数组a有n个元素,请输出n个元素的最小值及其下标。若最小值有多个,情输出下标最小的一个。注意,有效下标从0开始。 输入:输入分两行,第一行是一个正整数n(n<=100),第二行是n个整数
时间: 2024-12-24 19:28:30 浏览: 0
在C语言中,你可以使用一个for循环遍历数组,同时维护一个变量来存储当前找到的最小值和相应的下标。下面是实现这个功能的一个简单算法:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n); // 输入数组长度
if (n <= 0 || n > 100) { // 检查输入的有效性
printf("Invalid input! Please enter a positive integer between 1 and 100.\n");
return 0;
}
int arr[n], min_value = INT_MAX, min_index = -1; // 初始化最大整数值作为初始最小值
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入数组元素
if (arr[i] < min_value) {
min_value = arr[i];
min_index = i; // 更新最小值和相应下标
}
}
if (min_index == -1) { // 如果所有元素都大于最小值,说明数组为空或全为负
printf("Array is empty or all elements are negative.\n");
} else {
printf("The minimum value is %d, located at index %d.\n", min_value, min_index);
}
return 0;
}
阅读全文