C语言首先用字符串数组打印书单,用strcpy和数组的删除借书完成后再次打印书单西游记"红楼梦","水浒传","三国演义","骆驼祥子。用strcpy还书,要求在原书单后面添加归还的书籍
时间: 2023-10-03 12:05:19 浏览: 80
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 10
#define MAX_TITLE_LENGTH 30
int main() {
char books[MAX_BOOKS][MAX_TITLE_LENGTH] = {"西游记", "红楼梦", "水浒传", "三国演义", "骆驼祥子"};
int numBooks = 5;
// 打印书单
printf("书单:\n");
for (int i = 0; i < numBooks; i++) {
printf("%d. %s\n", i + 1, books[i]);
}
// 借书
printf("请输入借阅的书籍编号(1-%d):", numBooks);
int borrowIndex;
scanf("%d", &borrowIndex);
if (borrowIndex < 1 || borrowIndex > numBooks) {
printf("输入的编号不合法!\n");
return 1;
}
printf("您借阅了《%s》。\n", books[borrowIndex - 1]);
for (int i = borrowIndex - 1; i < numBooks - 1; i++) {
strcpy(books[i], books[i + 1]);
}
numBooks--;
// 打印书单
printf("\n借书后的书单:\n");
for (int i = 0; i < numBooks; i++) {
printf("%d. %s\n", i + 1, books[i]);
}
// 还书
char returnBook[MAX_TITLE_LENGTH];
printf("\n请输入归还的书名:");
scanf("%s", returnBook);
strcpy(books[numBooks], returnBook);
numBooks++;
// 打印书单
printf("\n还书后的书单:\n");
for (int i = 0; i < numBooks; i++) {
printf("%d. %s\n", i + 1, books[i]);
}
return 0;
}
```
运行结果:
```
书单:
1. 西游记
2. 红楼梦
3. 水浒传
4. 三国演义
5. 骆驼祥子
请输入借阅的书籍编号(1-5):2
您借阅了《红楼梦》。
借书后的书单:
1. 西游记
2. 水浒传
3. 三国演义
4. 骆驼祥子
请输入归还的书名:《平凡的世界》
还书后的书单:
1. 西游记
2. 水浒传
3. 三国演义
4. 骆驼祥子
5. 《平凡的世界》
```
阅读全文