我正在尝试编写一个将DNA转录为RNA的程序,但我无法弄清楚如何让程序输出一个字符串。我知道它涉及声明一个字符串并在for循环中使用它。到目前为止,我所拥有的程序只输出单个变量的正确答案。这就是我所做的:
#include <iostream>
using namespace std;
int main()
{
cout << "> ";
cin >> dna;
string dna;
cout "< ";
if (a == 'A') cout << 'U';
else if (a == 'C') cout << 'G';
else if (a == 'G') cout << 'C';
else if (a == 'T') cout << 'A';
cout << " " << endl;
}
答案 0 :(得分:1)
#include <iostream>
#include <string>
int main() {
std::string dna;
std::cout << "Type a DNA String\n> ";
std::cin >> dna;
std::cin.ignore();
std::cout << "< ";
int i = 0;
for (; i < dna.size()`enter code here`; i++) {
if (dna[i] == 'A') {
std::cout << "U";
}
else if (dna[i] == 'T') {
std::cout << "A";
}
else if (dna[i] == 'C') {
std::cout << "G";
}
else if (dna[i] == 'G') {
std::cout << "C";
}
else return 1;
}
return 0;
}
它要求输入字符串,然后循环并通过条件确定要输出的内容。
要看的事情:
答案 1 :(得分:1)
您的代码doesn't compile。你可能想写这样的东西
#include <iostream>
#include <string>
using namespace std;
int main () {
cout << "> ";
string dna; // << put the declaration 1st
cin >> dna;
cout << "< ";
for(auto a : dna) {
switch(a) {
case 'A': cout << 'U';
break;
case 'C': cout << 'G';
break;
case 'G': cout << 'C';
break;
case 'T': cout << 'A';
break;
}
}
cout << " " << endl;
return 0;
}
答案 2 :(得分:0)
您只需使用此代码即可。注意您的程序有几个错误尝试逐步修复它们,首先需要在使用它之前声明变量或者需要编写语句cout&lt;&lt;“&lt;”; cout“&lt;”;
#include <iostream>
using namespace std;
int main()
{
string dna;
char a;
cout << "> ";
cin >> dna;
cout << "< ";
for(int i=0 ; i<dna.size() ;i++){
a = dna[i];
if (a == 'A') cout << 'U';
else if (a == 'C') cout << 'G';
else if (a == 'G') cout << 'C';
else if (a == 'T') cout << 'A';
}
cout << " " << endl;
}