69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
#define STRLEN 100
#define ASCIILEN 128
void main()
{
char str1[STRLEN], str2[STRLEN];
int str1Sum = 0, str2Sum = 0; //用来存放两个字符串所含字符的个数
int str1Count[ASCIILEN] = { 0 }, str2Count[ASCIILEN] = { 0 }; //用来计算各个字符的个数
int i = 0; //计数
int sum = 0;
printf("输入字符串1\n");
scanf("%s",str1);
printf("输入字符串2\n");
scanf("%s",str2);
str1Sum = strlen(str1);
str2Sum = strlen(str2);
if (str1Sum != str2Sum)
{
printf("两个字符串不相同\n");
}
else
{
for (i = 0; i < str1Sum; ++i)
{
str1Count[str1[i]]++;
}
for (i = 0; i < str2Sum; ++i)
{
str2Count[str2[i]]++;
}
for (i = 0; i < ASCIILEN; ++i)
{
if (str1Count[i] != str2Count[i])
{
break;
}
sum += str1Count[i];
if (sum == str1Sum)
{
break;
}
}
if (i == ASCIILEN || sum == str1Sum)
{
printf("两个字符串相同\n");
}
else
{
printf("两个字符串不同\n");
}
}
}
bool Is_Match(char *pStr1,char *pStr2)
{
int sdwCount=0;
char aList[256]={0};
int aArray[256]={0};
char *pTemp=NULL;
for(pTemp=pStr1;*pTemp!='\0';pTemp++)
{
aArray[(WORD32)*pTemp]++;
aList[sdwCount++]=*pTemp;
}
for(pTemp=pStr2;*pTemp!='\0';pTemp++)
{
aArray[(WORD32)*(pTemp)]--;
if(aArray[*pTemp]<0)
{
return false;
}
}
while(sdwCount-->=0)
{
if(aArray[(WORD32)aList[sdwCount]]!=0)
{
return false;
}
}
return true;
};
#include<iostream>
#include<cstring>
using namespace std;
bool Is_Match(char *str1,char *str2)
{
if(strlen(str1)!=strlen*str2)return false;
else
{
int i,j;
for(i=0;i<strlen(str1);i++)
for(j=i+1;j<strlen(str1);j++)
if(str1[i]>str1[j])
{
char tmp;
tmp=str1[i];
str1[i]=str1[j];
str1[j]=tmp;
}
for(i=0;i<strlen(str2);i++)
for(j=i+1;j<strlen(str2);j++)
if(str2[i]>str2[j])
{
char tmp;
tmp=str2[i];
str2[i]=str2[j];
str2[j]=tmp;
}
return !strcmp(str1,str2);
}
}
int main()
{
char str1[100],str2[1000];
cin >> str1 >> str2;
cout << "YesOrNo:" << Is_Match(str1,str2) << endl;
return 0;
}
#include<iostream>
#include<cstring>
using namespace std;
bool Is_Match(char *str1,char *str2)
{
if(strlen(str1)!=strlen*str2)return false;
else
{
int i,j;
for(i=0;i<strlen(str1);i++)
for(j=i+1;j<strlen(str1);j++)
if(str1[i]>str1[j])
{
char tmp;
tmp=str1[i];
str1[i]=str1[j];
str1[j]=tmp;
}
for(i=0;i<strlen(str2);i++)
for(j=i+1;j<strlen(str2);j++)
if(str2[i]>str2[j])
{
char tmp;
tmp=str2[i];
str2[i]=str2[j];
str2[j]=tmp;
}
return !strcmp(str1,str2);
}
}
int main()
{
char str1[100],str2[1000];
cin >> str1 >> str2;
cout << "YesOrNo:" << Is_Match(str1,str2) << endl;
return 0;
}
int Is_Mach(char *str1, char *str2)
{
int i=0,j;
while(1)
{
if('\0' == str1[i])
return 1;
j=0;
while(1)
{
if('\0' == str2[j])
return 0;
if(str1[i] == str2[j])
{
str2[j] = 0xff;
break;
}
j++;
}
i++;
}
}