Pascal 语言中字符与字符串

Pascal 语言中字符与字符串

【题目】输入一段文章(255个字符以内),求文章中单词的个数,相同单词只记一次,The 和 the 视作相同。

【敲代码】
  1. //网友代码
    var
     article,w:string;
     arr:array[1..255] of string;
     i,len,ans:longint;
    function check(w:string):boolean;
    var
     i:longint;
    begin
    if len=0 then exit(true);
    for i:=1 to len do
    if arr[i]=w then exit(false);
     exit(true);
    end;
    begin
     readln(article);
     article:=upcase(article);//将所有字符转换为大写,解决 the=The 问题
    while(article[1]<'A')or(article[1]>'Z')do
    delete(article,1,1);
    while length(article)>0do
     begin
     i:=1;
    while(article[i]>='A')and(article[i]<='Z')do
     inc(i);
     w:=copy(article,1,i-1);
    delete(article,1,i);
    if check(w) then
     begin
     inc(len);
     arr[len]:=w;
     inc(ans);
     end;
    while(article[1]<'A')or(article[1]>'Z')do
    delete(article,1,1);
     end;
     writeln(ans);
    end.

    下面是我对这道题的解决办法,只提供一些步骤:

  1. //空格分隔单词,每一个单词分别读入 string 数组中
    i:=1;
    j:=1;
    read(a[1]);//读入第一个字符
    while a[i]<>'.'do;//a数组为char型
    begin
     inc(i);
     read(a[i]);
    end;
    t:=i;//a数组中内容个数
    for i:=1 to t do
    if(a[i]<>' ')and(a[i]<>'.') then sen[j]:=sen[j]+a[i]
    else inc[j];//空格分隔处理
    j:=j-1;//在最后一个'.'后j会+1,但并没有存放数据,所以这里要减去1

    //去重复
    n:=j;//下面要用j做循环,所以把j保存在n中
    count:=j;//count是最后要输出的结果
    for i:=1 to n-1do
    for j:=i+1 to n do
    if(a[i]=a[j])and(i<>j) then dec(count);//去除重复

     

转载于:https://www.cnblogs.com/RhinoC/p/4303070.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109541.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号