问题描述:对每个给定的字符串赋予指定的值,在给出的一段文字中,对每出现一次给定的字符串,则将对应的值累加,直至遍历完该段文字,得到最后的累加总和值
解题思路:通过结构体将所给的字符串和指定值进行绑定在一起,再利用字符数组的比较,来实现值的累加。
code(c)
#include<stdio.h>
#include<string.h>
struct word
{
char a[20];//单词
int date;//值
}w[10000];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int i,j,sum,m,n;
char term='.',str[1000];
memset(str,'\0',1000);
scanf("%d%d",&m,&n);
for(i=0;i<m;i++){
scanf("%s%d",&w[i].a,&w[i].date);
}
while(n--){
sum=0;
for(i=0;;i++){
scanf("%s",str);
for(j=0;j<m;j++)
if(!strcmp(str,w[j].a))
sum+=w[j].date;
if(!strcmp(str,"."))
break;
}
printf("%d\n",sum);
}
//fclose(stdin);
//fclose(stdout);
return 0;
}
本文介绍了一个基于C语言实现的字符串匹配程序,该程序能够针对输入的文本与预设的字符串进行匹配,并根据匹配到的字符串累加相应的分数。通过使用结构体存储字符串及其对应的值,实现了高效查找和累加的功能。
528

被折叠的 条评论
为什么被折叠?



