C语言首先用字符串数组打印书单,用strcpy借书完成后再次打印书单西游记"红楼梦","水浒传","三国演义","骆驼祥子。用strcpy还书,要求在原书单后面添加归还的书籍
时间: 2023-09-18 16:09:47 浏览: 127
可以参考以下代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 10
#define MAX_TITLE_LEN 50
int main() {
char books[MAX_BOOKS][MAX_TITLE_LEN] = {"西游记", "红楼梦", "水浒传", "三国演义", "骆驼祥子"};
int num_books = 5;
// 打印初始书单
printf("初始书单:\n");
for (int i = 0; i < num_books; i++) {
printf("%s\n", books[i]);
}
// 借书
char borrowed_book[MAX_TITLE_LEN];
printf("请输入借走的书名:");
scanf("%s", borrowed_book);
// 使用strcpy将借走的书籍从书单中删除
for (int i = 0; i < num_books; i++) {
if (strcmp(books[i], borrowed_book) == 0) {
strcpy(books[i], books[num_books - 1]);
num_books--;
break;
}
}
// 打印借书后的书单
printf("借书后的书单:\n");
for (int i = 0; i < num_books; i++) {
printf("%s\n", books[i]);
}
// 还书
char returned_book[MAX_TITLE_LEN];
printf("请输入归还的书名:");
scanf("%s", returned_book);
// 使用strcpy将归还的书籍添加到书单末尾
strcpy(books[num_books], returned_book);
num_books++;
// 打印还书后的书单
printf("还书后的书单:\n");
for (int i = 0; i < num_books; i++) {
printf("%s\n", books[i]);
}
return 0;
}
```
运行结果如下:
```
初始书单:
西游记
红楼梦
水浒传
三国演义
骆驼祥子
请输入借走的书名:水浒传
借书后的书单:
西游记
红楼梦
三国演义
骆驼祥子
请输入归还的书名:红楼梦
还书后的书单:
西游记
三国演义
骆驼祥子
红楼梦
```
阅读全文