这题很简单,但我提交时却WA了一次,错在一个知识点上,我觉得有必要写下来,以后可以看看!
这是AC代码:
#include<stdio.h>
#include<string.h>
int main()
{
int s[4],min,sum,len,i;
char a[1000];
int n,b,d,e,f;
while(scanf("%d%d%d%d%d",&n,&b,&d,&e,&f)!=EOF)
{
min=-1;
s[0]=b+d+e;
s[1]=2*b+2*d+f;
s[2]=3*b+3*d+2*f;
while(n--)
{
sum=0;
scanf("%s",a);
for(i=0;a[i]!='\0';i++)
{
sum+=s[a[i]-'A'];
}
if(sum<min||min==-1)
{
min=sum;
}
}
printf("%d\n",min);
}
return 0;
}
这是我WA的代码:
#include<stdio.h>
#include<string.h>
int main()
{
int s[4],min,sum,len,i;
char a[1000];
int n,b,d,e,f;
while(scanf("%d%d%d%d%d",&n,&b,&d,&e,&f)!=EOF)
{
min=-1;
s[0]=b+d+e;
s[1]=2*b+2*d+f;
s[2]=3*b+3*d+2*f;
for(i=0;i<n;i++)//这里用了i后,然而下面又用到了i
{
sum=0;
scanf("%s",a);
for(i=0;a[i]!='\0';i++)//这里也用到了I,当这个循环结束后,I=n了,就已经跳出了上面的循环!
{
sum+=s[a[i]-'A'];
}
if(sum<min||min==-1)
{
min=sum;
}
}
printf("%d\n",min);
}
return 0;
}