主题:关于字符串的操作问题两道,请帮帮我
96131
[专家分:0] 发布于 2006-04-07 11:22:00
1、输入两个串A和B,判断B是否是A的子串。做判错处理。
2、输入一个数字字符串,分别统计每个数字出现的次数。
回复列表 (共8个回复)
沙发
96131 [专家分:0] 发布于 2006-04-07 15:34:00
怎么没人帮帮啊,我是真的很需要大家帮帮我
板凳
acen [专家分:200] 发布于 2006-04-10 17:28:00
你所谓的判错处理是怎么样的,请具体一些
2.
var
str:string;
arr:array[0..9] of byte;
i:integer;
begin
write('Enter the digital string:');
readln(str);
fillchar(arr,sizeof(arr),0);
for i:=1 to length(str) do
inc(arr[ord(str[i])-48]);
for i:=0 to 9 do
write(i,':',arr[i],' ':2);
readln;
end.
3 楼
96131 [专家分:0] 发布于 2006-04-11 18:30:00
非常感谢楼上的朋友,谢谢!
所谓的判断我也不是很理解,如果不作判断以该怎样编呢?
4 楼
96131 [专家分:0] 发布于 2006-04-12 08:55:00
acen朋友在吗?
请教你:inc(arr[ord(str[i])-48]);这句的意思是?我对字符串掌握的不是太好,请指教。
第一题如果不判断,由该怎样编,我冥思苦想了3天就是没想出来,请帮帮我,也请其他的编程高手帮帮忙,先谢谢了
5 楼
acen [专家分:200] 发布于 2006-04-12 17:25:00
inc函数是一个累加函数,把括号里的变量加1,比如你给出的,意思是把arr[ord(str[i])-48)]这个变量加1,其实ord(str[i])-48)是一个数值,你应该懂.相反的函数是dec,就是减1.inc函数里也可以加两个参数,如inc(a,b),相当于把a和b相加,返回结果值.
第1题如果不判错的话可以用pos函数,用法是pos(str1,str2,result)(前面无需赋值语句);其中str1是待检测子串,str2是母串,result返回str1在str2中的位置,result是数值型,如果结果为0,表示不是.
如pos('abc','abcdef',result),result=1;
pos('cdf','abc',result),result=0.
6 楼
96131 [专家分:0] 发布于 2006-04-12 21:15:00
非常感谢
7 楼
96131 [专家分:0] 发布于 2006-04-12 21:24:00
如果能给个完整的程序就好了,期待中,先谢谢了
8 楼
96131 [专家分:0] 发布于 2006-04-14 15:32:00
请问谁能给出一个完整程序,我还是编不出来真不好意思
我来回复