Pascal 语言中字符与字符串
【题目】输入一段文章(255个字符以内),求文章中单词的个数,相同单词只记一次,The 和 the 视作相同。
//网友代码
var
article,w:string;
arr:array[..] of string;
i,len,ans:longint;
function check(w:string):boolean;
var
i:longint;
begin
if len= then exit(true);
for i:= to len do
if arr[i]=w then exit(false);
exit(true);
end;
begin
readln(article);
article:=upcase(article);//将所有字符转换为大写,解决 the=The 问题
while(article[]<'A')or(article[]>'Z')do
delete(article,,);
while length(article)>0do
begin
i:=;
while(article[i]>='A')and(article[i]<='Z')do
inc(i);
w:=copy(article,,i-);
delete(article,,i);
if check(w) then
begin
inc(len);
arr[len]:=w;
inc(ans);
end;
while(article[]<'A')or(article[]>'Z')do
delete(article,,);
end;
writeln(ans);
end.下面是我对这道题的解决办法,只提供一些步骤:
//空格分隔单词,每一个单词分别读入 string 数组中
i:=;
j:=;
read(a[]);//读入第一个字符
while a[i]<>'.'do;//a数组为char型
begin
inc(i);
read(a[i]);
end;
t:=i;//a数组中内容个数
for i:= to t do
if(a[i]<>' ')and(a[i]<>'.') then sen[j]:=sen[j]+a[i]
else inc[j];//空格分隔处理
j:=j-;//在最后一个'.'后j会+1,但并没有存放数据,所以这里要减去1//去重复
n:=j;//下面要用j做循环,所以把j保存在n中
count:=j;//count是最后要输出的结果
for i:= to n-1do
for j:=i+ to n do
if(a[i]=a[j])and(i<>j) then dec(count);//去除重复
Pascal 语言中字符与字符串的更多相关文章
- C语言中字符型和字符串型的区别?
C语言中只有字符型类型,没有字符串型类型.字符类型用一个带符号的8位二进制编码表示,其性质与int相同,只是只有一个字节.表示字符的ASCII编码使用其中的0~127,所以要明白字符类型(char)其 ...
- C语言中函数返回字符串的4中方法
C语言中函数返回字符串的4中方法 函数的构成部分:返回类型.函数名称.参数.函数主体 参数:函数调用时传入的参数称为实参,函数定义时出现的参数为形参 形参的作用在于接收实参传入的值,形参和函数内部的其 ...
- c语言中的部分字符串和字符函数
// // main.c // homeWork1230 // // #include <stdio.h> #include <string.h> #include <c ...
- C#中字符和字符串总结
Char类是C#提供的字符类型,String是C#提供的字符串类型. 字符: Char类在C#中表示一个Unicode字符. Char类只定义一个Unicode字符. Char类常用的方法及说明如下: ...
- C语言中字符数据的输入和输出
字符的输出 C语言中使用putchar函数来输出字符数据 #include <stdio.h> int main() { char a,b,c,d; //定义字符变量a,b,c,d a = ...
- C语言之“字符”与“字符串”之间的区别解析
在C语言中,“字符”与“字符串”之间,是有区别的.这一篇文章中,我们将介绍一下,在C语言中的“字符”与“字符串”,它们之间的区别. 首先,一个很明显的区别是: “字符”,使用单引号作为定界符,而“字符 ...
- C语言中常用的字符串处理函数总结
C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存 ...
- C语言中常用的字符串操作函数
程序开头要声明 #include <string.h> 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char ...
- C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来 ...
随机推荐
- android 小方法
小方法 1.获取屏幕分辨率: public class BaseTools { public static int getWindowWidth(Context context) { // 获取屏幕分 ...
- OC:点语法
IOS中的@property 与 assign copy retain 的区别参考 //@理解为 OC 代码的标记 //如何去创建一个对象 创建对象的两步: // (1)为对象在堆区中开辟空间 Stu ...
- IL学习资料
读懂IL代码就这么简单 由浅入深CIL系列 .net IL 指令速查
- [转]NTLM身份验证
链接:http://www.360doc.com/content/12/0615/14/10216164_218320534.shtml 在允许的环境下,Kerberos是首选的认证方式.在这之前,W ...
- Using Eclipse With CloudStack
As part of switching to Apache Maven for building CloudStack, the .classpath and .project files used ...
- c语言操作符 “++”另类行为
正常情况下,我们使用++ int a = 1; a++; printf(“%d”,a); // 2; 很简单没什么好说的. #include <stdio.h> int main() ...
- TL-WR703 USB不稳定/当前的总结
http://see.sl088.com/wiki/WR703_USB%E4%B8%8D%E7%A8%B3%E5%AE%9A/%E5%BD%93%E5%89%8D%E7%9A%84%E6%80%BB% ...
- 什么是双线双IP,什么叫双线双IP
双线双IP实现双线路,拥有中国电信.中国网通骨干网的接入,在该机房托管的服务器,实现了电信和网通的双线路接入,使电信和网通的用户都能以非常快的速度连接到服务器,解决了电信和网通互相访问速度慢的问题.这 ...
- 自定义一个可以使用foreach语句进行迭代的类(IEnumerable)
在c#中,凡是实现了IEnumerable接口的数据类型都可以用foreach语句进行迭代访问.所以,我们要定义一个可以使用foreach进行迭代访问的类,就必须要实现IEnumerable接口. / ...
- C++ 转型
1.const_static的使用场景:接收一个const对象,但是想改变对象内容,使用const_static去除对象的常量性,然后可以修改对象. 2.dynamic_static的使用场景:从子类 ...