题目:字符统计。
分析:简单题。建立一个map数字映射即可。
注意:字符可能为负,结果会超出整形范围。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Map[522];
char Dat[10005];
int main()
{
int N,K,M,D;
char C;
while ( scanf("%ld",&N) != EOF )
while ( N -- ) {
memset( Map, 0, sizeof( Map ) );
scanf("%d",&K);
getchar();
for ( int i = 0 ; i < K ; ++ i ) {
scanf("%c %d",&C,&D);
getchar();
Map[C+256] = D;
}
scanf("%d",&M);
getchar();
double Count = 0.0;
for ( int i = 0 ; i < M ; ++ i ) {
gets(Dat);
for ( int j = 0 ; Dat[j] ; ++ j )
Count += Map[Dat[j]+256];
}
printf("%.2lf$\n",Count/100.0);
}
return 0;
}