PAT刷题记录
passwords 甲级
注意一些细节,仔细看清题中对于输出的要求,设置的难点主要在于统计需要替换和不需要替换的数量,并且按照要求进行输出。
#include "stdio.h"
#include "string.h"
#include "iostream"
using namespace std;
int main()
{
struct node
{ char ss[15]; char s[15]; int flag=0; }a[1005];
int n;
int count,count1=0;
int num;
scanf("%d",&n);
for(int i=0;i<n;i++)
{ scanf("%s %s",a[i].ss,a[i].s); num=0;
count=strlen(a[i].s);
for(int j=0;j<count;j++)
{ if(a[i].s[j]=='0')
{a[i].s[j]='%'; num++;}
else if(a[i].s[j]=='1')
{ a[i].s[j]='@'; num++;}
else if(a[i].s[j]=='O')
{a[i].s[j]='o'; num++;}
else if(a[i].s[j]=='l')
{a[i].s[j]='L'; num++;}
}
if(num==0)
{ count1++;}
else
a[i].flag=1;
}
if(count1==n&&n==1)
printf("There is %d account and no account ismodified\n",n);
else if(count1==n)
printf("There are %d accounts and no account is modified\n",n);
else
{ printf("%d\n",n-count1);
for(int i=0;i<n;i++)
if(a[i].flag==1)
printf("%s %s\n",a[i].ss,a[i].s);
}}