练习 6-3 编写一个交叉引用程序,打印文档中所有单词的列表,并且每个单词还有一 个列表,记录出现过该单词的行号。对 the、and 等非实义单词不予考虑。

本文档将指导你如何编写一个C语言程序,该程序能够遍历文本,列出所有单词及其出现的行号,同时忽略如'the'、'and'等常见非实义词汇。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>


#define MAXWORD 100

/*Author Stat:  founded 2017 11 26*/
static int count_line = 1;


struct line{
   int line;
   struct line *next;
};


struct tnode{
   char *word;
   struct line *start;
   struct tnode *next;
};


struct tnode *addItem(struct tnode *,char *);
struct line *addlines(struct line *);
void showItem(struct tnode *);
void showLine(struct line *);
struct tnode *Ialloc(void);
struct line *Lalloc(void);
char *walloc(char *);
int getword(char *,int);
int Nonrealword(char *);


int main(void)
{
   struct tnode *head;
   char word[MAXWORD];


   head = NULL;
   while(getword(word,MAXWORD) != EOF)
      if(Nonrealword(word))
         if(isalpha(word[0]))
       head = addItem(head,word);
   printf("%33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值