信息学奥赛一本通c 答案 1080
时间: 2025-01-15 10:07:56 浏览: 69
### 关于信息学奥赛一本通C语言1080题解答
对于信息学奥赛一本通中的第1080题,该题目涉及的是关于字符处理的内容。具体来说,此题要求读入两个字符串并判断这两个字符串是否互为变位词(即由相同的字母组成但顺序可能不同)。下面提供了一个基于C语言实现的解决方案:
```c
#include <stdio.h>
#include <string.h>
int main(){
char str1[105],str2[105];
int cnt1[26]={0},cnt2[26]={0};
scanf("%s",str1);
scanf("%s",str2);
if(strlen(str1)!=strlen(str2)){
printf("NO\n");
return 0;
}
for(int i=0;str1[i]!='\0';i++)
cnt1[str1[i]-'a']++;
for(int j=0;str2[j]!='\0';j++)
cnt2[str2[j]-'a']++;
for(int k=0;k<26;k++){
if(cnt1[k]!=cnt2[k]){
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
```
上述代码首先初始化了两个长度不超过104的字符串`str1`和`str2`以及用于计数各字母出现次数的一维数组`cnt1[]`与`cnt2[]`[^自动生成]。接着分别统计两串中各个英文字母的数量,并比较这些数量是否相等来决定最终输出的结果。
阅读全文
相关推荐

















