怎么输出的长度和输入的长度不一样,怎么改正

img


怎么输出的长度和输入的长度不一样,怎么改正,是要使用什么函数吗

s2没初始化。代码可以改成:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string s1;
    getline(cin, s1);
    for (int i =0; i < s1.size(); i++)
    {
        if (s1[i] == 'A') s1[i] = 'T';
        else if (s1[i] == 'T') s1[i] = 'A';
        else if (s1[i] == 'C') s1[i] = 'G';
        else if (s1[i] == 'G') s1[i] = 'C';
    }
    cout << s1 << endl;
    return 0;
}


#include<iostream>
#include<string>
using namespace std;
int main(){
    string zifu;
    string results;
    getline(cin,zifu);
    int count=0;
    for(int i=0;i<zifu.size();i++){
        if(zifu[i]=='A')
        results[i]='T';
        else if(zifu[i]=='T')
            results[i]='A';
        else if(zifu[i]=='C')
            results[i]='G';
        else if(zifu[i]=='G')
            results[i]='C';
        count++;
    }
    for(int j=0;j<count;j++){
        printf("%c",results[j]);
    }
    
    return 0;
}