求解C语言程序设计题:两个字符串s1,s2写函数比较后返回不同的字符的个数

例如:s1=aCDdegk,s2=aBcefKws... 例如:s1=aCDdegk,s2=aBcefKws 展开
 我来答
守恒110
2012-06-03 · TA获得超过220个赞
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:132万
展开全部
可以调用库函数,但是没什么意思,我刚写的,你看下吧

#include <stdio.h>
#include <math.h>

int DifferentChars(char* str1, char* str2);
int Length(char* str);

int main()
{
char a[] = "abcdefg";
char b[] = "AbCDefghig";

int diff = DifferentChars(a, b);

printf("不同的字符有%d个\n", diff);

return 0;
}

int DifferentChars(char* str1, char* str2)
{
int lenStr1 = 0;
int lenStr2 = 0;
int shorter = 0;
int differentChars = 0;

lenStr1 = Length(str1);
lenStr2 = Length(str2);

shorter = lenStr1<lenStr2 ? lenStr1:lenStr2;

for(int i = 0; i < shorter; i++)
{
if (str1[i] != str2[i])
{
differentChars++;
}
}

differentChars += abs(lenStr1 - lenStr2);

return differentChars;
}

int Length(char* str)
{
int len = 0;

while (str[++len] != '\0');

return len;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
诗酒趁英雄
2012-06-03
知道答主
回答量:2
采纳率:0%
帮助的人:3210
展开全部
比较是用他们的ACCSI码比较,ACCSI码大的就大,你可以试着用字符串函数比较,设一个标志位,用来返回不同的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海马王子
2012-06-03 · 超过31用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:38.9万
展开全部
int function(char *str1, char *str2);
{
int sum=0;
int shortStr= sizeof(str1)<sizeof(str2) ? sizeof(srt1)-1 :sizeof(str2)-1 ;
for(int i=0; i<shortStr ; i++)
{
if( str1[i] != str2[i] )
sum++;
}
return sum;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2012-06-03 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6460万
展开全部
不明白“比较后返回不同的字符的个数”这句话是什么意思,如:
s1=aabbccd
s2=ddabcbc
这样比较返回的不同字符个数是怎么计算的?
追问
就是轮流用s1的每个字符与s2的每个字符比较啊,还有貌似要用到s[i]='A'
追答
那么我问到的那两个串,比较的结果应该是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式