c语言问题:输入10个整数存入数组,将值最大的元素与第一个元素进行值交换,值最小的元素与 最后一个元素进行值交换,然后输出数组。
时间: 2023-11-02 22:07:39 浏览: 37
好的,这个问题属于编程问题,我可以帮你解决。以下是实现的C代码:
```
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int array[10];
int i, max_index = 0, min_index = 0;
// 输入10个整数
for (i = 0; i < 10; i++)
{
scanf("%d", &array[i]);
if (array[i] > array[max_index])
max_index = i;
if (array[i] < array[min_index])
min_index = i;
}
// 交换值最大的元素和第一个元素
swap(&array[0], &array[max_index]);
// 交换值最小的元素和最后一个元素
swap(&array[9], &array[min_index]);
// 输出数组
for (i = 0; i < 10; i++)
printf("%d ", array[i]);
return 0;
}
```
希望这个代码可以帮到你。
相关问题
用c语言编程:输入10个整数存入数组,将值最大的元素与第一个元素进行值交换,值最小的元素与最后一个元素进行值交换,然后输出数组。
以下是用c语言编写的程序:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10];
int i, max_index = 0, min_index = 0;
// 输入10个整数
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 找到最大值和最小值的下标
for (i = 1; i < 10; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 交换最大值和第一个元素的值
swap(&arr[max_index], &arr[0]);
// 如果最小值的下标是0,就更新为max_index
if (min_index == 0) {
min_index = max_index;
}
// 交换最小值和最后一个元素的值
swap(&arr[min_index], &arr[9]);
// 输出数组
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
程序首先定义了一个长度为10的整型数组 `arr`,然后使用for循环来输入10个整数。接着使用另一个for循环遍历数组,找到最大值和最小值的下标。
然后,使用自定义的 `swap` 函数来交换最大值和第一个元素的值,以及最小值和最后一个元素的值。需要注意的是,如果最小值的下标是0,就需要将其更新为最大值的下标。
最后,使用for循环输出数组中的所有元素。
c语言编程:输入10个整数存入数组,将值最大的元素与第一个元素进行值交换,值最小的元素与最后一个元素进行值交换,然后输出数组(编写代码时使用数组)
```c
#include <stdio.h>
int main()
{
int arr[10];
int i, maxIndex, minIndex, temp;
// 输入10个整数
printf("请输入10个整数:\n");
for(i=0; i<10; i++){
scanf("%d", &arr[i]);
}
// 找出最大值和最小值的下标
maxIndex = 0;
minIndex = 0;
for(i=1; i<10; i++){
if(arr[i] > arr[maxIndex]){
maxIndex = i;
}
if(arr[i] < arr[minIndex]){
minIndex = i;
}
}
// 交换最大值和第一个元素
temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
// 交换最小值和最后一个元素
temp = arr[9];
arr[9] = arr[minIndex];
arr[minIndex] = temp;
// 输出数组
printf("交换后的数组为:\n");
for(i=0; i<10; i++){
printf("%d ", arr[i]);
}
return 0;
}
```