C语言将数组(15.5.3.1.9.8.7.6.0.10.21)找最大值存到MAX里,并将它的下标存到MAXi里
时间: 2023-11-28 14:05:04 浏览: 60
好的,针对您的问题,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[10] = {15, 5, 3, 1, 9, 8, 7, 6, 0, 10, 21};
int max = arr[0]; // 初始化最大值为数组第一个元素
int max_i = 0; // 初始化最大值下标为0
for (int i = 1; i < 10; i++) { // 从第二个元素开始遍历数组
if (arr[i] > max) { // 如果当前元素大于最大值
max = arr[i]; // 更新最大值
max_i = i; // 更新最大值下标
}
}
printf("最大值为:%d,下标为:%d\n", max, max_i);
return 0;
}
```
输出结果为:
```
最大值为:21,下标为:10
```
希望能解决你的问题!
相关问题
C语言将数组(15.5.3.1.9.8.7.6.0.10.21)找最大值存到MAX里,并将它的下标存到MAXi里,并将数组从小到大排序
好的,针对您的问题,我可以给出以下 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[] = {15, 5, 3, 1, 9, 8, 7, 6, 0, 10, 21};
int len = sizeof(arr) / sizeof(arr[0]);
int max = arr[0], maxi = 0;
// 找出最大值及其下标
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
maxi = i;
}
}
printf("最大值为:%d,下标为:%d\n", max, maxi);
// 冒泡排序将数组从小到大排序
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组为:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
最大值为:21,下标为:10
排序后的数组为:0 1 3 5 6 7 8 9 10 15 21
```
希望能够帮助您解决问题。
编写一段C语言程序,将数组15.5.3.1.9.8.7.6.0.10.21元素从小到大排序要求定义MAX和maxi并求出下标,
好的,以下是一段C语言程序,可以将给定数组从小到大排序,并求出最大值和最大值所在的下标:
```c
#include <stdio.h>
int main() {
int arr[] = {15, 5, 3, 1, 9, 8, 7, 6, 0, 10, 21};
int n = sizeof(arr) / sizeof(arr[0]);
int i, j, temp, MAX = arr[0], maxi = 0;
// 冒泡排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
if (arr[i] > MAX) {
MAX = arr[i];
maxi = i;
}
}
printf("\n最大值为:%d\n", MAX);
printf("最大值的下标为:%d\n", maxi);
return 0;
}
```
输出结果如下所示:
```
排序后的数组:
0 1 3 5 6 7 8 9 10 15 21
最大值为:21
最大值的下标为:10
```
阅读全文