任意输入10个数,要求输入和输出在主函数,使用交换排序法在子函数可以使用数组实现
时间: 2024-02-01 18:16:33 浏览: 28
好的,以下是交换排序法的子函数实现:
```python
def exchange_sort(nums):
n = len(nums)
for i in range(n-1):
for j in range(i+1, n):
if nums[i] > nums[j]:
nums[i], nums[j] = nums[j], nums[i]
return nums
```
然后在主函数中可以这样调用:
```python
if __name__ == '__main__':
nums = []
for i in range(10):
num = int(input(f"请输入第{i+1}个数:"))
nums.append(num)
print(f"输入的数为:{nums}")
exchange_sort(nums)
print(f"排序后的数为:{nums}")
```
这样就可以输入10个数并排序输出了。
相关问题
编写C语言程序,编写函数将数组中的数逆序存放,输入输出在主函数中实现。
好的,以下是实现代码:
```c
#include <stdio.h>
void reverseArray(int arr[], int size) {
int temp, i;
for (i = 0; i < size/2; i++) {
temp = arr[i];
arr[i] = arr[size-i-1];
arr[size-i-1] = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr)/sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverseArray(arr, size);
printf("Reversed array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在主函数中定义了一个数组,然后调用 `reverseArray` 函数将数组中的元素逆序排列,最后输出结果。函数中使用了一个循环来交换数组中的元素,将第一个元素和最后一个元素交换,接着将第二个元素和倒数第二个元素交换,以此类推,直到数组中所有元素都被遍历过。
c语言使用结构数组输入10本数的名称和单价,调用函数按照书名的字母顺序进行排序,在主函数输出排序结构
好的,可以参考下面的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define N 10 // 数组长度
// 书本结构体
struct Book {
char name[20]; // 书名
float price; // 单价
};
// 交换两个结构体的值
void swap(struct Book *a, struct Book *b) {
struct Book temp = *a;
*a = *b;
*b = temp;
}
// 按照书名的字母顺序进行排序
void sort(struct Book books[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(books[i].name, books[j].name) > 0) {
swap(&books[i], &books[j]);
}
}
}
}
int main() {
struct Book books[N]; // 书本数组
int i;
// 输入书本信息
printf("请输入%d本书的名称和单价:\n", N);
for (i = 0; i < N; i++) {
printf("第%d本书:\n", i + 1);
scanf("%s%f", books[i].name, &books[i].price);
}
// 按照书名的字母顺序进行排序
sort(books, N);
// 输出排序结果
printf("按照书名的字母顺序进行排序后的结果为:\n");
for (i = 0; i < N; i++) {
printf("%s\t%.2f\n", books[i].name, books[i].price);
}
return 0;
}
```
在主函数中,首先声明一个结构体数组 `books`,然后输入每本书的名称和单价,接着调用 `sort` 函数对 `books` 数组进行排序,最后输出排序后的结果。在 `sort` 函数中使用了冒泡排序算法,通过 `strcmp` 函数比较两个字符串的大小关系,从而实现按照书名的字母顺序进行排序。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)