7-1 病毒感染检测用c语言写出程序
时间: 2024-10-26 10:04:06 浏览: 41
数据结构课程设计 病毒感染检测 可执行程序+电子版报告
5星 · 资源好评率100%
编写一个简单的病毒感染检测程序,我们可以使用C语言中的字符串操作函数来实现。这里我们假设有一个函数`is_infected(virus_str, patient_str)`,它会检查病毒DNA(virus_str)是否存在于患者的DNA(patient_str)中。下面是一个基本的示例:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
// 判断病毒是否存在
bool is_infected(const char* virus_str, const char* patient_str) {
int len_virus = strlen(virus_str);
// 转换病毒DNA为环状
virus_str[len_virus - 1] = virus_str[0];
for (int i = 0; i <= strlen(patient_str) - len_virus; ++i) {
if (strncmp(patient_str + i, virus_str, len_virus) == 0) {
return true;
}
}
return false;
}
int main() {
int num_cases;
scanf("%d", &num_cases);
while (num_cases--) {
char virus_str[501], patient_str[501];
scanf("%s %s", virus_str, patient_str);
if (is_infected(virus_str, patient_str)) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}
```
这个程序首先读取病毒和患者DNA的对数,然后针对每一对,调用`is_infected`函数进行检测并输出结果。需要注意的是,此程序仅适用于病毒DNA较短的情况,如果病毒DNA较长,可能会导致性能下降。实际应用中,可能需要更高效的字符串搜索算法,如KMP或Rabin-Karp等。
阅读全文