> 백엔드 개발 > C++ > C 언어의 철자법이란 무엇입니까?

C 언어의 철자법이란 무엇입니까?

王林
풀어 주다: 2023-09-10 08:29:02
앞으로
1559명이 탐색했습니다.

C 언어의 철자법이란 무엇입니까?

变位词字符串实际上是指另一个字符串中出现相同次数的所有字符,我们称之为变位词。

用户输入两个字符串。我们需要计算每个字母('a'到'z')在它们中出现的次数,然后比较它们对应的计数。字母在字符串中出现的频率是它在其中出现的次数。

如果两个字符串具有相同的特定字母频率计数,则可以说这两个字符串是变位词。

示例1

字符串1 - abcd

字符串2 - bdac

这两个字符串具有相同的只出现一次的字母。因此,这两个字符串是变位词。

示例2

字符串1 - programming

字符串2 - gramming

输出 - 这两个字符串不是变位词。

示例

以下是一个变位词的C程序 -

#include <stdio.h>
int check_anagram(char [], char []);
int main(){
   char a[1000], b[1000];
   printf("Enter two strings</p><p>");
   gets(a);
   gets(b);
   if (check_anagram(a, b))
      printf("The strings are anagrams.</p><p>");
   else
      printf("The strings aren&#39;t anagrams.</p><p>");
      return 0;
}
int check_anagram(char a[], char b[]){
   int first[26] = {0}, second[26] = {0}, c=0;
   // Calculating frequency of characters of the first string
   while (a[c] != &#39;\0&#39;) {
      first[a[c]-&#39;a&#39;]++;
      c++;
   }
   c = 0;
   while (b[c] != &#39;\0&#39;) {
      second[b[c]-&#39;a&#39;]++;
      c++;
   }
   // Comparing the frequency of characters
   for (c = 0; c < 26; c++)
   if (first[c] != second[c])
      return 0;
      return 1;
}
로그인 후 복사

输出

执行上述程序时,会产生以下输出 -

Run 1:
Enter two strings
abcdef
deabcf
The strings are anagrams.
Run 2:
Enter two strings
tutorials
Point
The strings aren&#39;t anagrams.
로그인 후 복사

위 내용은 C 언어의 철자법이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿