| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
sample过,可是那出错 WA,附代码,有注释/*找出SCORE 的函数*/
int findscr(char str[])
{
int i=0;
int score=0;
while(str[i]!='\0'){
switch(str[i])
{
case 'e' :
case 'i' :
case 's' :score+=1;break;
case 'r' :
case 't' :
case 'a' :
case 'n' :score+=2;break;
case 'o' :
case 'l' :score+=3;break;
case 'u' :
case 'd' :
case 'c' :score+=4;break;
case 'y' :
case 'p' :
case 'g' :
case 'h' :
case 'b' :
case 'm' :score+=5;break;
case 'w' :
case 'f' :
case 'k' :
case 'v' :score+=6;break;
case 'q' :
case 'z' :
case 'x' :
case 'j' :score+=7;break;
}/*switch*/
i++;
} /*while*/
return score;
}
/*whether all letter in dictionary is org[] */
int check(char strOrg[] , char strDic[])
{
int i=0,j=0;
while( strDic[i] != '\0' ){
j = 0;
while( strOrg[j] != '\0' ){
if(strDic[i] == strOrg[j]){
strOrg[j]='8';
break; /*如果有相同的了,就把相同的那个从COLLECTED LETTER里去掉,并跳出内层的WHILE*/
}
j++;
}
if(strOrg[j] == '\0')return 0; /*因为有相同的必然会跳出来,所以如果比到最后的/0了,必然是没有相同的*/
i++;
}
return 1;
}/*check*/
/*给字符串赋值*/
void letequal(char str1[],char str2[])
{
int i=0;
while( (str1[i] = str2[i]) != '\0' )i++;
}
main()
{
int findscr(char str[]);
int max = 0;
char org[30],dic[30],orgfc[30];
scanf("%s",org);
letequal(orgfc,org);
/*input dictionary*/
scanf("%s",dic);
while( dic[0]!='.' ){
letequal(orgfc,org);
if( check(orgfc,dic) && max < findscr(dic) )max = findscr(dic);
scanf("%s",dic);
}/*while*/
printf("%d",max);
}/*main*/
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator