图书馆新进一批图书,每本图书的名字均不超过50个字符。编写一程序,将这些图书的名字按照从小到大的顺序排列。要求 排序通过函数进行,数据的输入输出及函数调用在主函数中进行 c语言 void sort
时间: 2024-03-08 09:48:03 浏览: 123
好的,根据您的要求,我可以为您提供一个基于C语言的程序示例,实现对图书名称的排序功能。代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUM 100 // 最大图书数量
#define MAX_NAME_LEN 50 // 最大图书名字长度
// 冒泡排序函数,按照字典序从小到大排序
void sort(char book_names[MAX_NUM][MAX_NAME_LEN + 1], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(book_names[j], book_names[j + 1]) > 0) {
char temp[MAX_NAME_LEN + 1];
strcpy(temp, book_names[j]);
strcpy(book_names[j], book_names[j + 1]);
strcpy(book_names[j + 1], temp);
}
}
}
}
int main() {
int n;
char book_names[MAX_NUM][MAX_NAME_LEN + 1];
// 输入图书数量和名称
printf("请输入图书数量:");
scanf("%d", &n);
printf("请输入每一本图书的名称:\n");
for (int i = 0; i < n; i++) {
scanf("%s", book_names[i]);
}
// 对图书名称进行排序
sort(book_names, n);
// 输出排序后的图书名称
printf("排序后的图书名称为:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", book_names[i]);
}
return 0;
}
```
在这个程序中,我们定义了一个名为sort的函数,它的功能是对一个字符串数组进行排序。排序算法采用了冒泡排序,按照字典序从小到大排序。在主函数中,我们先输入图书的数量和名称,然后调用sort函数对图书名称进行排序,最后输出排序后的结果。
阅读全文