
- cin>>s;
- cout<<"NO";
切记:在[]中必须加数字——字符串最大长度,不然编译不通过
char s[101];
- char s[101];
- cin>>s;
- int n=strlen(s);
先定义一个字符数组,再利用双重for循环将字符一个个比较,如果相等就输出NO,提前结束循环
- #include
- #include
- using namespace std;
- int main()
- {
- // 请在此输入您的代码
- char s[101];
- cin>>s;
- int i=0;
- int j=0;
- int n=strlen(s);
- for(i;i
- for(j=i+1;j
- if(s[i]==s[j]){
- cout<<"NO";
- return 0;
- }
- }
- }
- cout<<"YES";
- return 0;
- }
二、确定字符串是否是另一个的排列

2.1涉及知识点
sort函数用于C++中,对给定区间所有元素进行排序。头文件是#include 。
函数原型如下
sort(first_pointer, first_pointer + n, cmp)
此函数有3个参数:
第一个参数是要排序的数组的起始地址。
第二个参数是结束的地址(最后一位要排序的地址的下一地址)
第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
如果要改为从大到小排序,需要加一个函数compare
strcmp 函数从两个字符串的开头开始,逐个字符地进行比较。它使用ASCII值来比较对应的字符
int strcmp(const char *str1, const char *str2);
- 如果
str1 小于 str2,则返回值小于 0。 - 如果
str1 大于 str2,则返回值大于 0。 - 如果
str1 和 str2 相等,则返回 0
2.2题解
思路
先将两字符进行排序(使用sort函数),在进行两字符串的比较(利用strcmp函数)
代码
- #include
- #include
- #include
- using namespace std;
- int main()
- {
- // 请在此输入您的代码
- char str1[101];
- char str2[101];
- cin>>str1;
- cin>>str2;
- int n=strlen(str1);
- int m=strlen(str2);
- if(n==m){
- sort(str1,str1+n);
- sort(str2,str2+m);
- if(strcmp(str1,str2)!=0){
- cout<<"NO";
- return 0;
- }
- }else{
- cout<<"NO";
- return 0;
- }
- cout<<"YES";
- return 0;
- }
-
相关阅读:
C++语法基础
Spring boot接收zip包并获取其中excel文件的方法
设计模式-组合模式
MCU如何选型?
iOS端如何实现MobLink的场景还原功能
航顺主流替代型HK32F103系列
Facebook注册失败?速看最新注册指南
Python用27行代码绘制一幅满天星
Promise的链式调用
springboot整合MeiliSearch轻量级搜索引擎
-
原文地址:https://blog.csdn.net/m0_74206393/article/details/139304158