流感筛查

目前正是甲流盛行时期,为了更好地进行分流治疗,医院在挂号时要求对病人的体温和咳嗽情况进行检查,对于体温超过37.5度(含等于37.5度)并且咳嗽的病人初步判定为甲流病人(初筛)。现需要统计某天前来挂号就诊的病人中有多少人被初筛为甲流病人。

输入:第一行是某天前来挂号就诊的病人数n。(n<200)

其后有n行,每行是病人的信息,包括三个信息:姓名(字符串,不含空格,最多8个字符)、体温(float)、是否咳嗽(整数,1表示咳嗽,0表示不咳嗽)。每行三个信息之间以一个空格分开。

输出:按输入顺序依次输出所有被筛选为甲流的病人的姓名,每个名字占一行。之后在输出一行,表示被筛选为甲流的病人数量。

输入样例:

1
2
3
4
5
6
5
Zhang 38.3 0
Li 37.5 1
Wang 37.1 1
Zhao 39.0 1
Liu 38.2 1

输出样例

1
2
3
4
Li
Zhao
Liu
3

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <cstdio>
#include <iostream>
using namespace std;
struct
{
string name, pname;
float tem;
bool hel;
} a[1001];

int main()
{
int n,d;
cin >> n;
int p=0;
while (n > 200)
{
cout << "请重新输入:";
cin >> n;
} //判断病人数是否超出范围
for (int i = 0; i < n; i++)
{
cin >> a[i].name >> a[i].tem >> a[i].hel;
if (a[i].tem >= 37.5 && a[i].hel)
{
a[p++].pname = a[i].name;
d++;
} //判断是否出现症状
}
for (int k = 0; k < p; k++)
{
cout << a[k].pname << endl;
}
cout << d << endl; //输出
}

碱基配对

脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。

输入:一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。

输出:一个只含有大写字母A、T、G、C的字符串,为与输入的碱基链互补的碱基链。

输入样例:

1
ATATGGATGGTGTTTGGCTCTG

输出样例:

1
TATACCTACCACAAACCGAGAC

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
char u;
char A[1001];
int n=0;
int k;

enter:while ((A[n++]=getchar())!= '\n'); //输入字符串存储到数组
if (n>255)
{
cout<<"请重试"<<endl;
goto enter;
}
for(int i=0;i<=n-2;++i) //判断是否有错误字符
{
if (A[i] != 'A' &&A[i] !='C'&&A[i] !='G'&&A[i] !='T')
{
cout <<"请重试"<<endl;

for (k=0;k<=i;++k)
{
A[k]=0;
n=0; //初始化数组
i=0;
}
k=0;
goto enter;
}
}
A[n-1]=0;
for (int o=0;o<=n-2;o++)
{
u = A[o];
switch (u)
{
case 'A':
A[o] ='T';
break;
case 'T':
A[o] ='A';
break;
case 'G':
A[o] ='C';
break;
case 'C':
A[o] ='G';
break;
}
}
cout <<A<<endl;
}