#include<iostream.h>
#include <string.h>
#include <stdio.h> /*文本每行以字符串形式存储,行与行之间以链表存储*/
typedef struct line
{
char *data;
struct line *next;
}LINE; /*创建一链表,同时向里面输入文本数据*/
void Create(LINE * &head)
{
printf (" 请 输 入 一 页 文 章 , 以 Ctrl+E(^E) 为 结 尾 ( 每 行 最 多 输 入 80 字
符!):");
LINE *p=new LINE; /*首先为链表 建立一个附加表头结点*/
head=p; /*将 p 付给 表头指针*/
char tmp[100];
while(1)
{
gets(tmp); /*输入字符串!*/
if(strlen(tmp)>80)
{
printf("每行最多输入 80 字符");
break;
}
if(tmp[0]==5)break; /*如果发现输入 ^E,则退出输入*/
p=p->next=new LINE;
p->data=new char[strlen(tmp)+1]; /*为结点分配空间 */
strcpy(p->data,tmp);
if(tmp[strlen(tmp)-1]==5) /*除去最后一个控制符 ^E */
{
p->data[strlen(tmp)-1]=' ';
break;
}
}
p->next=NULL; /*最后的一个指针为空 */
head=head->next;
}
/*统计字母数*/
int CountLetter(LINE * &head)
{
LINE *p=head;
int count=0;
do
{
int Len=strlen(p->data); /*计算当前 data 里的数据元素的个数*/
评论0