c语言-返回两个字符串里相同字符的个数
写一个程序,要求输入两个字符串,比如microsoft和student.判断里面有几个相同的字符,这里的话就是s,t.返回2。谢谢了,在线等,昨天一个考试题,自己写不出来...
写一个程序,要求输入两个字符串,比如microsoft和student.判断里面有几个相同的字符,这里的话就是s,t.返回2。
谢谢了,在线等,昨天一个考试题,自己写不出来。 展开
谢谢了,在线等,昨天一个考试题,自己写不出来。 展开
4个回答
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指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);
给分吧,做人要厚道哦
因为你的字串估计是指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);
给分吧,做人要厚道哦
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指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);
给分吧,做人要厚道哦
因为你的字串估计是指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);
给分吧,做人要厚道哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得最简单的办法如下;
因为你的字串估计是指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);
给分吧,做人要厚道哦
因为你的字串估计是指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);
给分吧,做人要厚道哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用指针吧!!指针简单很多的··
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询