练习 6-4 编写一个程序,根据单词的出现频率按降序打印输入的各个不同单词,并在 每个单词的前面标上它的出现次数

本文介绍如何用C语言编写一个程序,该程序读取输入,统计每个单词的出现频率,并按降序输出单词及其出现次数。

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

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

#define MAXWORD 100

/*Author Stat:  founded 2017 11 26*/
static size_t word_count = 0;

struct line{
   char *word;
   size_t count;
   struct line *next;
};


int getword(char *,int);
struct line *additem(struct line *,char *);
void swapcontent(struct line *,struct line *);
void showitem(struct line *);
struct line *talloc(void);
char *strdup(char *);


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


   head = NULL;
   while(getword(word,MAXWORD) != EOF)
      if(isalpha(word[0]))
         head = additem(head,word);
   printf("Total word: %lu\n",word_coun
练习 10-6:加法运算 提示用户提供数值输入时,常现的一个问题是,用户提供的是文本而不是数。在此情况下,当你尝试将输入转换为整数时,将引发 ValueError 异常。编写一个程序,提示用户输入两个数,再将其相加打印结果。在用户输入的任何一个值不是数时都捕获 ValueError 异常,打印一条友好的错误消息。对你编写程序进行测试:先输入两个数,再输入一些文本而不是数。 练习 10-7: 加法计算器 将为完成练习 10-6编写的代码放在一个 while 循环中,让用户犯错(输入的是文本而不是数)后能够继续输入数。 练习 10-8:猫和狗 创建文件 cats.txt 和 dogs.txt,在第一个文件中至少存储三只猫的名字,在第二个文件中至少存储三条狗的名字。编写一个程序,尝试读取这些文件,将其内容打印到屏幕上。将这些代码放在一个 try-except 代码块中,以便在文件不存在时捕获 FileNotFound 错误,显示一条友好的消息。将任意一个文件移到另一个地方,确认 except 代码块中的代码将正确执行。 练习10-9:静默的猫和狗 修改你在练习 10-8 中编写的 except 代码块,让程序在任意文件不存在时静默失败。 练习10-10:常见单词 访问古登堡计划,找一些你想分析的图书。下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中。 可以使用方法count()来确定特定的单词或短语在字符串中现了多少次。例如,下面的代码计算'row'在一个字符串中现了多少次: >>> line = "Row, row, row your boat" >>> line.count('row') 2 >>> line.lower().count('row') 3
最新发布
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值