C语言基础

时间:2024-11-12 13:17:55

输出一行,如果 str2 字符串是 str1 字符串的排列,则输出 YES;

如果 str2 字符串不是 str1 字符串的排列,则输出 NO;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(int argc, char *argv[])

{

char str1[100];

char str2[100];

scanf("%s",str1);

scanf("%s",str2);

//printf("%d\n",strlen(str1));

//将两个字符串从小到大排列 然后比对

//将str1排序

for(int i = 0;i<strlen(str1);i++){

  for(int j = 0;j<strlen(str1)-1-i;j++){

    if(str1[j]>str1[j+1]){

      char temp = str1[j];

      str1[j] = str1[j+1];

      str1[j+1] = temp;

    }

  }

}

//printf("str1:%s\n",str1);

//将str2排序

for(int i = 0;i<strlen(str2)-1;i++){

  for(int j = 0 ;j<strlen(str2)-1-i;j++){

    if(str2[j]>str2[j+1]){

      char temp = str2[j];

      str2[j] = str2[j+1];

      str2[j+1] = temp;

    }

  }

}

//printf("str2:%s\n",str2);

//比对

if(strcmp(str1,str2) == 0){

  printf("YES\n");

}else{

  printf("NO\n");

}

/*

如果 str1 小于 str2,返回一个负数。

如果 str1 等于 str2,返回 0。

如果 str1 大于 str2,返回一个正数。

*/


 

//printf("%d",strcmp(str1,str2));

//printf("str1:%s\n",str1);

//printf("str2:%s",str2);


 

  // 请在此输入您的代码

  return 0;

}