用c语言分别求出以下三题9.从键盘输入5个整型数,保存到的长度为5的数组,再将其按逆序存放在这个数组中(第1个与最后一个交换,第2个与倒数第2个交换...),将逆序前和逆序后的数组输出。 交换规律如下: 1 2 3 4 5 <-左边是输入的5个数 下标 下标 4-i i 4 0 3 1 2 2 1 3 0 4 观察上面要交换的下标的规律 i 4-i a[i]<===>a[4-i]交换 10.五个评委打分(输入5个分数),去掉最高、最低分各一个,计算最终成绩(剩下的取平均分) 11.输入5个实型数据,排序后按照由小到大
时间: 2024-01-04 12:03:06 浏览: 34
第一题代码:
```c
#include <stdio.h>
int main() {
int arr[5];
printf("请输入5个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
// 逆序存放
for (int i = 0; i < 2; i++) {
int temp = arr[i];
arr[i] = arr[4 - i];
arr[4 - i] = temp;
}
// 输出逆序前的数组
printf("逆序前的数组:");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 输出逆序后的数组
printf("逆序后的数组:");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
第二题代码:
```c
#include <stdio.h>
int main() {
float arr[5];
printf("请输入5个分数:\n");
for (int i = 0; i < 5; i++) {
scanf("%f", &arr[i]);
}
// 冒泡排序
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) {
if (arr[j] > arr[j + 1]) {
float temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 去掉最高、最低分
float sum = 0;
for (int i = 1; i < 4; i++) {
sum += arr[i];
}
// 计算平均分
float avg = sum / 3;
printf("最终成绩为:%f\n", avg);
return 0;
}
```
第三题代码:
```c
#include <stdio.h>
int main() {
float arr[5];
printf("请输入5个实数:\n");
for (int i = 0; i < 5; i++) {
scanf("%f", &arr[i]);
}
// 冒泡排序
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) {
if (arr[j] > arr[j + 1]) {
float temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组为:");
for (int i = 0; i < 5; i++) {
printf("%f ", arr[i]);
}
printf("\n");
return 0;
}
```