变形词定义:
变形词: 两个字符串中出现的字符种类相同及每种字符出现的次数也相同,则这两个字符串互为变形词。
分析:
(互为变形词返回true,否则返回false)
如果两个字符串长度不同,直接返回false;
如果两个字符串长度相同,先定义一个整形数组num[i]记录每个字符出现的次数。遍历第一个字符串,假设遍历到字符a,字符a的ASCII值为97,则让 num[97] ++ ;再遍历第二个字符串,若也遍历到字符a,则令num[97]--。
若最后num[i]不等于0,则返回false;若num[i]全部为0,则返回true。
代码:(详见注释)
#include#include #define max 500 main(){ char ch1[max]; char ch2[max]; printf("请输入第一个字符串:"); scanf("%s",ch1); printf("请输入第二个字符串:"); scanf("%s",ch2); int len1=strlen(ch1); //计算字符长度 int len2=strlen(ch2); if(len1!=len2){ printf("false"); //若长度不相等,直接返回false } else{ int num[128]={0}; //将数组所有元素赋初值为0(常用的ASCII码范围是0~127) int i; for(i=0;i



