C语言输入一维整型数组的10个元素值求出最大值
时间: 2024-12-25 13:26:11 浏览: 3
在C语言中,你可以通过遍历数组并逐个比较元素来找出一维整型数组的最大值。这里是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int arr[10]; // 定义一个可以存储10个整数的一维数组
int i, max = arr[0]; // 初始化max为数组的第一个元素
printf("请输入10个整数值:\n");
for (i = 0; i < 10; i++) { // 遍历数组
scanf("%d", &arr[i]); // 输入每个元素的值
if (arr[i] > max) { // 如果当前元素大于已知的最大值
max = arr[i]; // 更新最大值
}
}
printf("数组中的最大值是:%d\n", max); // 输出最大值
return 0;
}
```
在这个程序中,`scanf`函数用于读取用户输入的整数,然后将它们存储到数组中。如果遇到比当前`max`大的元素,就更新`max`的值。最后,`printf`用于显示找到的最大值。
相关问题
C语言编写程序,输入一维整型数组的10个元素值,求出最大值,将最大值与最后一个数组元素的值交换。
在C语言中,你可以通过遍历整个一维整型数组来找出最大值,然后利用数组下标来交换最大值和最后一个元素。以下是一个简单的示例程序:
```c
#include <stdio.h>
// 函数声明
void findMaxAndSwap(int arr[], int n);
int main() {
int arr[10]; // 初始化一个包含10个元素的一维数组
int i;
printf("请输入10个整数: ");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
findMaxAndSwap(arr, 10); // 调用函数处理
printf("交换后的数组: ");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 定义函数,查找并交换最大值
void findMaxAndSwap(int arr[], int n) {
int max = arr[0]; // 假设第一个元素为最大值
for (int i = 1; i < n; i++) {
if (arr[i] > max) { // 如果当前元素大于最大值,则更新最大值
max = arr[i];
}
}
// 将找到的最大值与最后一个元素交换
arr[n - 1] = max;
arr[maxIndex(n, max)] = arr[n - 1]; // 使用一个辅助函数确定max的索引,因为max可能等于最后一个元素
}
// 辅助函数,返回给定值在数组中对应的索引
int maxIndex(int arr[], int value) {
for (int i = 0; i < n; i++) {
if (arr[i] == value) {
return i;
}
}
return -1; // 如果未找到该值,返回-1表示错误
}
```
当你运行这个程序后,它会提示用户输入10个整数,然后找到并交换最大的值与最后一个元素。
c语言定义一维整型数组,输入5个数,从大到小排序,输出次最大值。
好的,我理解了你的要求。下面是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[5], i, j, temp;
for(i = 0; i < 5; i++) {
printf("输入第 %d 个数:", i + 1);
scanf("%d", &arr[i]);
}
// 冒泡排序
for(i = 0; i < 4; i++) {
for(j = 0; j < 4 - i; j++) {
if(arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("排序后的数组为:");
for(i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n次最大值为:%d", arr[1]);
return 0;
}
```
这段代码定义了一个长度为 5 的整型数组,通过循环输入五个数,然后使用冒泡排序将其从大到小排序,并输出次大值。
阅读全文