洛谷 P1308 统计单词数 总结

洛谷 P1308 统计单词数 总结

写这道题的时候思路变了好几次,也卡了好久,最终想到一种比较适合像我这样的初学者理解的一种解法。
P1308

  1. 大概思路
    大概思路就是比较单词和句子,如果有一样的就记录次数和第一次出现的位置。

  2. 保存输入的单词和句子


```c
#include<stdio.h>
#include<string.h>
char word[20],sen[1000000];  //写外面空间大 
int main(void)
{
   
	gets(word);  //存单词 也可以用fgets不过要处理换行符;
	
	sen[0]=' ';  //将句子的第一个单词前面放上空格,方便比较;
	gets(&sen[1]);  //存句子 
	strcat(sen," ");  //将句子结尾后面放上一个空格,方便比较; 
	
	int len1,len2;
	len1=strlen(word);len2=strlen(sen);  //保存单词和句子长度;  
这里使得句子中的每个单词间以空格分开,方便之后的比较

注释:
```c
char *gets(char *str);

gets()读一行字符串,遇到换行符会抛弃然后加上一个’\0’

char *fgets(char *str, int n, FILE *stream)

fgets()会保留换行符,而且安全一些 (懒得处理换行符,就没用…)

  1. 将所有字符统一格式方便比较
int i,j;
	
	for(i=0;i<len1;i++)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值