#1046. 练69.3 整理药名c语言
时间: 2024-10-25 17:14:24 浏览: 23
在C语言中,整理药名通常涉及到字符串操作和数据结构的使用。你可以创建一个结构体来存储药品信息,如名称、成分、作用等,并设计一个函数来管理这些药物的列表。下面是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义药品结构体
typedef struct {
char name[50]; // 药品名称
char ingredients[100]; // 成分
} Drug;
// 创建一个新的药品
Drug* createDrug(char* name, char* ingredients) {
Drug* drug = (Drug*)malloc(sizeof(Drug));
strcpy(drug->name, name);
strcpy(drug->ingredients, ingredients);
return drug;
}
// 添加药品到列表
void addDrugToList(Drug** drugs, size_t* count, char* name, char* ingredients) {
Drug* newDrug = createDrug(name, ingredients);
drugs[*count] = newDrug;
(*count)++;
}
// 打印药品列表
void printDrugList(Drug* drugs, size_t count) {
for (size_t i = 0; i < count; i++) {
printf("药品 %zu: 名称 - %s, 成分 - %s\n", i+1, drugs[i].name, drugs[i].ingredients);
}
}
int main() {
Drug* drugList[10];
size_t drugCount = 0;
// 示例添加药品
addDrugToList(&drugList, &drugCount, "阿莫西林", "青霉素");
addDrugToList(&drugList, &drugCount, "布洛芬", "对乙酰氨基酚");
// 打印药品列表
printDrugList(drugList, drugCount);
// 清理内存
for (size_t i = 0; i < drugCount; i++) {
free(drugList[i]);
}
return 0;
}
```
在这个示例中,我们首先定义了一个药品结构体`Drug`,然后实现了创建新药、添加药到列表以及打印列表的功能。在实际应用中,你可能还需要考虑如何读取药名数据库或用户输入,并处理可能出现的错误情况。
阅读全文