用C语言将小写字母转换为大写字母输入10个不相同的整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 写三个函数; ①输入10个数; ②进行处理; ③输出10个数。
时间: 2024-10-12 22:10:19 浏览: 36
在C语言中,你可以通过以下步骤编写三个函数来完成这个任务:
1. 输入10个整数的函数 (`input_numbers()`):
```c
#include <stdio.h>
void input_numbers(int arr[], int size) {
for (int i = 0; i < size; ++i) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &arr[i]);
}
}
```
2. 进行处理的函数 (`process_array()`):
```c
void process_array(int arr[], int size) {
// 找到最小值与第一个数的索引
int min_index = 0;
for (int i = 1; i < size; ++i) {
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 找到最大值与最后一个数的索引
int max_index = size - 1;
while (arr[max_index] > arr[size - 1]) {
max_index--;
}
// 对应交换
if (min_index != 0) {
int temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
}
if (max_index != size - 1) {
temp = arr[size - 1];
arr[size - 1] = arr[max_index];
arr[max_index] = temp;
}
}
```
3. 输出数组的函数 (`output_numbers()`):
```c
void output_numbers(int arr[], int size) {
for (int i = 0; i < size; ++i) {
printf("排序后的第%d个数是:%d\n", i + 1, arr[i]);
}
}
```
整合这三个函数并创建主程序如下:
```c
#include <stdio.h>
int main() {
int arr[10];
int size = sizeof(arr) / sizeof(arr[0]);
// 输入数据
input_numbers(arr, size);
// 处理数据
process_array(arr, size);
// 输出结果
output_numbers(arr, size);
return 0;
}
```
运行此程序,它会提示用户输入10个数字,然后按照要求交换最小值和第一个数,以及最大值和最后一个数,并最后输出结果。
阅读全文