c语言-返回两个字符串里相同字符的个数

写一个程序,要求输入两个字符串,比如microsoft和student.判断里面有几个相同的字符,这里的话就是s,t.返回2。谢谢了,在线等,昨天一个考试题,自己写不出来... 写一个程序,要求输入两个字符串,比如microsoft和student.判断里面有几个相同的字符,这里的话就是s,t.返回2。
谢谢了,在线等,昨天一个考试题,自己写不出来。
展开
 我来答
maxzhuang
2007-12-13 · TA获得超过130个赞
知道答主
回答量:20
采纳率:0%
帮助的人:16.7万
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指ascii字串,总共就256个Ascii码啊

char s1[]="microsoft", s2[]='student';
char a[256], b[256], *str;
int i, cnt=0;
for (i=0; i<256; i++) { a[i]=0; b[i]=0; }
for (str=s1, *str != 0, str++) {
a[*str]++; /*该字符计数器+1 */
}
for (str=s2, *str != 0, str++) {
b[*str]++; /*该字符计数器+1 */
}
for (i=0; i<256; i++) {
if (a[i]>0 && b[i]>0) {
cnt++;
}
}
printf("have %d same characters", cnt);

给分吧,做人要厚道哦
卞思松003
2020-02-25 · TA获得超过1177个赞
知道小有建树答主
回答量:1301
采纳率:100%
帮助的人:5.9万
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指ascii字串,总共就256个ascii码啊
char
s1[]="microsoft",
s2[]='student';
char
a[256],
b[256],
*str;
int
i,
cnt=0;
for
(i=0;
i<256;
i++)
{
a[i]=0;
b[i]=0;
}
for
(str=s1,
*str
!=
0,
str++)
{
a[*str]++;
/*该字符计数器+1
*/
}
for
(str=s2,
*str
!=
0,
str++)
{
b[*str]++;
/*该字符计数器+1
*/
}
for
(i=0;
i<256;
i++)
{
if
(a[i]>0
&&
b[i]>0)
{
cnt++;
}
}
printf("have
%d
same
characters",
cnt);
给分吧,做人要厚道哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叔榆邴浦和
2019-05-13 · TA获得超过1090个赞
知道小有建树答主
回答量:1313
采纳率:100%
帮助的人:5.7万
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指ascii字串,总共就256个Ascii码啊
char
s1[]="microsoft",
s2[]='student';
char
a[256],
b[256],
*str;
int
i,
cnt=0;
for
(i=0;
i<256;
i++)
{
a[i]=0;
b[i]=0;
}
for
(str=s1,
*str
!=
0,
str++)
{
a[*str]++;
/*该字符计数器+1
*/
}
for
(str=s2,
*str
!=
0,
str++)
{
b[*str]++;
/*该字符计数器+1
*/
}
for
(i=0;
i<256;
i++)
{
if
(a[i]>0
&&
b[i]>0)
{
cnt++;
}
}
printf("have
%d
same
characters
",
cnt);
给分吧,做人要厚道哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amw895
2007-12-13 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:115万
展开全部
用指针吧!!指针简单很多的··
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式