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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看android证书签名

    查看android证书签名虽然以前搞过,一直忘了怎么查看android证书签名。最近因为需要查看android证书签名,在网上找了很多都不是印象中的方法,最后看到一篇搜索才想起,看来以后要多提高搜索技巧,好记性不如好笔记。正题—-其实查看android签名很简单,对于签过名的apk文件中,用winrar打开后在在META-INF文件下的cert.rsa属于pkcs7证书文件,所以加改后缀为.p7b打开,在

    2022年6月8日
    93
  • 查找可用的谷歌IP地址

    查找可用的谷歌IP地址

    2021年11月14日
    61
  • 1031. Hello World for U (20)[通俗易懂]

    1031. Hello World for U (20)

    2022年2月2日
    279
  • 深度学习:有监督学习、无监督学习和半监督学习

    深度学习:有监督学习、无监督学习和半监督学习是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。文章目录一、监督式学习二、无监督式学习三、半监督式学习一、监督式学习在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练…

    2022年5月8日
    117
  • ping和traceroute的工作原理

    ping和traceroute的工作原理PING原理PING是基于ICMP协议(网络层)工作的ICMP:InternetControlMessageProtocol,互联网控制报文协议ICMP用于报告传输过程中出现的问题,比如确认IP包是否成功送达,或者发送过程中被废弃的原因比如主机A向主机B发送消息,在途径某个路由器时,无法发现B的存在。路由器就会向A发送一个ICMP不可达的数据包,A解析ICMP的首部和数据段得知具体信息ICMP报文封装在IP包里,从左到右依次是IP头、ICMP头、ICMP数据段,后两部分构成IP

    2022年7月21日
    10
  • java对象转换为json字符串_java中将字符串转换为json

    java对象转换为json字符串_java中将字符串转换为json概要Jackson是基于java平台的json处理框架。Jackson提供了三种可选的json处理方法:流式API、树模型、数据绑定(dataBinding),其中数据绑定是最常用的处理方式;本文主要介绍数据绑定的处理方式。java对象与json字符串互相转换java对象与json字符串互相转换的关键就是ObjectMapper对象的writeValue()方法和readValue()方法;其中json字符串可以字符串的形式传入/传出,也可以以文件的形式传入/传出,见wri.

    2022年9月2日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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