简单的算法编程,PAT1067题

求帮忙看看我的代码错在哪里,哪些极限例子过不了

img

img

img

#include
using namespace std;
int main()
{
string r;
string t[11];
int a,i;
cin>>r>>a;
for(i=0;i>t[i];if(t[i]=="#") break;}//输入次数少的话提前结束
for(i=0;i
{
if(t[i]=="#") break;
else
{
if(t[i]==r)
{
cout<<"Welcome in"; break;
}
else
{
if(i==a-1||t[i+1]=="#")//考虑如果提前结束(未满次数)的话最后那个错误答案输出后不用换行
cout<<"Wrong password:"<
else
cout<<"Wrong password:"<
}
if(i==a-1) cout<
}
}
}

编译无错,我在自己电脑上随便试的答案也可以。但是他测试只有部分通过,有的格式错误有的答案错误。看不出来问题在哪qaq,求各位帮忙看看

#include<bits/stdc++.h>

using namespace std;

string s;
    
int n;

string ch;

int main()
{
    cin>>s>>n;
    
    int w=0;//错误次数 
    
    getchar();//吸回车 
    
    while(getline(cin,ch))//输入 
    {
        if(ch=="#") //#结束 
        {
            break;
        }
        
        if(ch==s&&w<n)//密码正确并且错误次数<n 
        {
            cout<<"Welcome in";
            
            break;
        }
        
        if(ch!=s)//密码错误 
        {
            w++;//错误次数++
            
            if(w<=n)//错误次数小于n 
            {
                cout<<"Wrong password: "<<ch<<endl;
            }
            
            if(w==n)//错误次数等于n 
            {
                cout<<"Account locked";//结束 
                
                break;
            }
        }
    }
    
    return 0;
}