回 帖 发 新 帖 刷新版面

主题:关于字符串的操作问题两道,请帮帮我

1、输入两个串A和B,判断B是否是A的子串。做判错处理。

2、输入一个数字字符串,分别统计每个数字出现的次数。

回复列表 (共8个回复)

沙发



怎么没人帮帮啊,我是真的很需要大家帮帮我

板凳

你所谓的判错处理是怎么样的,请具体一些
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 楼

非常感谢楼上的朋友,谢谢!
所谓的判断我也不是很理解,如果不作判断以该怎样编呢?

4 楼

acen朋友在吗?
请教你:inc(arr[ord(str[i])-48]);这句的意思是?我对字符串掌握的不是太好,请指教。
第一题如果不判断,由该怎样编,我冥思苦想了3天就是没想出来,请帮帮我,也请其他的编程高手帮帮忙,先谢谢了

5 楼

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 楼

非常感谢

7 楼

如果能给个完整的程序就好了,期待中,先谢谢了

8 楼

请问谁能给出一个完整程序,我还是编不出来真不好意思

我来回复

您尚未登录,请登录后再回复。点此登录或注册