logo

Fordítsa meg a karakterláncot C-ben

Ez a témakör számos módszert tárgyal a karakterlánc megfordítására a C programozási nyelvben. Egy karakterlánc megfordítása az a technika, amely megfordítja vagy megváltoztatja egy adott karakterlánc sorrendjét úgy, hogy a karakterlánc utolsó karaktere legyen a karakterlánc első karaktere és így tovább. Továbbá az eredeti karakterlánc megfordításával is ellenőrizhetjük az adott karakterlánc palindromját.

Például beírunk egy karakterláncot ' ALMA ', majd használja a fordított algoritmust. A fordított algoritmus a ' karakterláncot adja vissza ELPPA ', ami teljesen fordítottja az eredeti karakterláncnak.

Fordítsa meg a karakterláncot C-ben

Különböző módok a karakterlánc fordítottjának megtalálására a C-ben

Az alábbiakban bemutatjuk a különböző módokat a karakterlánc fordítottjának megtalálására a C programozási nyelvben:

  1. Fordítsa meg a karakterláncot az strrev() függvény segítségével
  2. Egy karakterlánc megfordítása a könyvtár funkció használata nélkül
  3. Egy karakterlánc megfordítása a rekurziós függvény segítségével
  4. Fordítsa meg a karakterláncot a for ciklus használatával
  5. Egy karakterlánc megfordítása a while ciklus használatával
  6. Fordítsa meg a karakterláncot mutatók segítségével
  7. Fordítsa meg a karakterláncot a Palindrom ellenőrzéséhez

1. program: Nyomtassa ki egy karakterlánc fordítottját az strrev() függvény segítségével

Nézzünk egy példát egy karakterlánc fordítottjának kinyomtatására az strrev() függvény használatával.

Program1.c

Java kiterjesztésű fájl
 #include #include int main() { char str[40]; // declare the size of character string printf (' 
 Enter a string to be reversed: '); scanf ('%s', str); // use strrev() function to reverse a string printf (' 
 After the reverse of a string: %s ', strrev(str)); return 0; } 

Kimenet

 Enter a string to be reversed: AMBULANCE After the reverse of a string: ECNALUBMA 

2. program: Egy karakterlánc hátoldalának kinyomtatása a könyvtár funkció használata nélkül

Tekintsünk egy példát egy karakterlánc fordítottjának kinyomtatására a felhasználó által definiált függvény használatával.

Program2.c

 #include #include // function definition of the revstr() void revstr(char *str1) { // declare variable int i, len, temp; len = strlen(str1); // use strlen() to get the length of str string // use for loop to iterate the string for (i = 0; i <len 2; i++) { temp variable use to temporary hold the string str1[i]="str1[len" - i 1]; str1[len 1]="temp;" } int main() char str[50]; size of printf (' enter string: '); gets(str); gets() function take 
 before reversing %s 
', str); call revstr() revstr(str); after %s', < pre> <p> <strong>Output</strong> </p> <pre> Enter the string: Welcome Friends Before reversing the string: Welcome Friends After reversing the string: sdneirF emocleW </pre> <h3>Program 3: Print the reverse of a string using the recursion function</h3> <p>Let&apos;s consider an example to print the reverse of a string using the recursion function.</p> <p> <strong>Recursion function:</strong> A recursion function is a function that continuously calls the same function without using a looping statement.</p> <p> <strong>Program3.c</strong> </p> <pre> #include #include // use recursion function void revstr(char *str1) { // declare static variable static int i, len, temp; len = strlen(str1); // use strlen() to get the length of str string if (i <len 2){ temp variable use to temporary hold the string str1[i]="str1[len" - i 1]; str1[len 1]="temp;" i++; revstr(str1); recusively calls revstr() function } int main() { char str1[50]; size of printf (' enter string: '); gets(str1); gets() take 
 before reversing %s 
', str1); call after %s', < pre> <p> <strong>Output</strong> </p> <pre> Enter the string: LIFE INSURANCE Before reversing the string: LIFE INSURANCE After reversing the string: ECNARUSNI EFIL </pre> <h3>Program 4: Print the reverse of a string using for loop</h3> <p>Let&apos;s consider an example to print the reverse of a string using for loop in C programming language.</p> <p> <strong>Program4.c</strong> </p> <pre> #include #include #include void main() { char str[50], temp; // define the size of str[] array int i, left, right, len; printf (&apos; 
 Display a reverse string in the C: 
&apos;); printf (&apos; ----------------------- &apos;); printf (&apos; 
 Enter a string to reverse order: &apos;); scanf( &apos;%s&apos;, &amp;str); len = strlen(str); // get the length of the string left = 0; // set left index at 0 right = len - 1; // set right index len - 1 // use for loop to store the reverse string for (i = left; i <right; i++) { temp="str[i];" str[i]="str[right];" str[right]="temp;" right--; } printf (' the reverse of original string is: %s ', str); getch(); < pre> <p> <strong>Output</strong> </p> <pre> Display a reverse string in the C: ----------------------- Enter a string to reverse order: APPLE The reverse of the original string is: ELPPA </pre> <h3>Program 5: Print the reverse of a string using while loop</h3> <p>Let&apos;s consider an example to print the reverse of a string using while loop in C programming language.</p> <p> <strong>Program5.c</strong> </p> <pre> #include #include int main() { char str1[50], temp; // declare and initialize the size of string array. int i = 0, j =0; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, str1); j = strlen (str1) - 1; // get the length of the string // use while loop to define the condition while ( i <j) 1 { use temp variable to store the characters of str1 str1[j]="str1[i];" str1[i]="temp;" i++; i incremented by j--; j is decremented } printf (' reversed string: %s', str1); return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reversed of the string: TNIOPTAVAJ </pre> <h3>Program 6: Print the reverse of a string using pointers</h3> <p>Let&apos;s consider an example to print the reverse of a string using pointers in the C programming language.</p> <p> <strong>Program6.c</strong> </p> <pre> #include #include int str_len( char *st); void revstr( char *st); int main() { char st[50]; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, st); revstr(st); printf (&apos; The reverse string is: %s&apos;, st); return 0; } void revstr (char *st) { int len, i; char *start, *end, temp; len = str_len (st); start = st; end = st; for (i = 0; i <len - 1; i++) end++; for (i="0;" i < len 2; { temp="*end;" *end="*start;" *start="temp;" start++; end--; } int str_len (char *ptr) while ( *(ptr + i) !="" ) i++; return i; pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reverse string is: TNIOPTAVAJ </pre> <h3>Program 7: Program to check whether the reverse string is a Palindrome</h3> <p>Consider a program to check whether the given string is a palindrome or not in the C programming language.</p> <p> <strong>Program7.c</strong> </p> <pre> #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (' %s a palindrome string', str1); else palindrome', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;></pre></len></pre></j)></pre></right;></pre></len></pre></len>

3. program: A rekurziós függvény segítségével nyomtatja ki egy karakterlánc fordítottját

Nézzünk egy példát egy karakterlánc fordítottjának kinyomtatására a rekurziós függvény segítségével.

Rekurziós függvény: A rekurziós függvény olyan függvény, amely folyamatosan hívja ugyanazt a függvényt ciklusos utasítás használata nélkül.

str.replace java-ban

Program3.c

 #include #include // use recursion function void revstr(char *str1) { // declare static variable static int i, len, temp; len = strlen(str1); // use strlen() to get the length of str string if (i <len 2){ temp variable use to temporary hold the string str1[i]="str1[len" - i 1]; str1[len 1]="temp;" i++; revstr(str1); recusively calls revstr() function } int main() { char str1[50]; size of printf (\' enter string: \'); gets(str1); gets() take 
 before reversing %s 
\', str1); call after %s\', < pre> <p> <strong>Output</strong> </p> <pre> Enter the string: LIFE INSURANCE Before reversing the string: LIFE INSURANCE After reversing the string: ECNARUSNI EFIL </pre> <h3>Program 4: Print the reverse of a string using for loop</h3> <p>Let&apos;s consider an example to print the reverse of a string using for loop in C programming language.</p> <p> <strong>Program4.c</strong> </p> <pre> #include #include #include void main() { char str[50], temp; // define the size of str[] array int i, left, right, len; printf (&apos; 
 Display a reverse string in the C: 
&apos;); printf (&apos; ----------------------- &apos;); printf (&apos; 
 Enter a string to reverse order: &apos;); scanf( &apos;%s&apos;, &amp;str); len = strlen(str); // get the length of the string left = 0; // set left index at 0 right = len - 1; // set right index len - 1 // use for loop to store the reverse string for (i = left; i <right; i++) { temp="str[i];" str[i]="str[right];" str[right]="temp;" right--; } printf (\' the reverse of original string is: %s \', str); getch(); < pre> <p> <strong>Output</strong> </p> <pre> Display a reverse string in the C: ----------------------- Enter a string to reverse order: APPLE The reverse of the original string is: ELPPA </pre> <h3>Program 5: Print the reverse of a string using while loop</h3> <p>Let&apos;s consider an example to print the reverse of a string using while loop in C programming language.</p> <p> <strong>Program5.c</strong> </p> <pre> #include #include int main() { char str1[50], temp; // declare and initialize the size of string array. int i = 0, j =0; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, str1); j = strlen (str1) - 1; // get the length of the string // use while loop to define the condition while ( i <j) 1 { use temp variable to store the characters of str1 str1[j]="str1[i];" str1[i]="temp;" i++; i incremented by j--; j is decremented } printf (\' reversed string: %s\', str1); return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reversed of the string: TNIOPTAVAJ </pre> <h3>Program 6: Print the reverse of a string using pointers</h3> <p>Let&apos;s consider an example to print the reverse of a string using pointers in the C programming language.</p> <p> <strong>Program6.c</strong> </p> <pre> #include #include int str_len( char *st); void revstr( char *st); int main() { char st[50]; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, st); revstr(st); printf (&apos; The reverse string is: %s&apos;, st); return 0; } void revstr (char *st) { int len, i; char *start, *end, temp; len = str_len (st); start = st; end = st; for (i = 0; i <len - 1; i++) end++; for (i="0;" i < len 2; { temp="*end;" *end="*start;" *start="temp;" start++; end--; } int str_len (char *ptr) while ( *(ptr + i) !="" ) i++; return i; pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reverse string is: TNIOPTAVAJ </pre> <h3>Program 7: Program to check whether the reverse string is a Palindrome</h3> <p>Consider a program to check whether the given string is a palindrome or not in the C programming language.</p> <p> <strong>Program7.c</strong> </p> <pre> #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (\' %s a palindrome string\', str1); else palindrome\', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;></pre></len></pre></j)></pre></right;></pre></len>

4. program: Nyomtassa ki a karakterlánc fordítottját a for ciklus használatával

Nézzünk egy példát egy karakterlánc fordítottjának kinyomtatására a for ciklus használatával C programozási nyelvben.

Program4.c

 #include #include #include void main() { char str[50], temp; // define the size of str[] array int i, left, right, len; printf (&apos; 
 Display a reverse string in the C: 
&apos;); printf (&apos; ----------------------- &apos;); printf (&apos; 
 Enter a string to reverse order: &apos;); scanf( &apos;%s&apos;, &amp;str); len = strlen(str); // get the length of the string left = 0; // set left index at 0 right = len - 1; // set right index len - 1 // use for loop to store the reverse string for (i = left; i <right; i++) { temp="str[i];" str[i]="str[right];" str[right]="temp;" right--; } printf (\' the reverse of original string is: %s \', str); getch(); < pre> <p> <strong>Output</strong> </p> <pre> Display a reverse string in the C: ----------------------- Enter a string to reverse order: APPLE The reverse of the original string is: ELPPA </pre> <h3>Program 5: Print the reverse of a string using while loop</h3> <p>Let&apos;s consider an example to print the reverse of a string using while loop in C programming language.</p> <p> <strong>Program5.c</strong> </p> <pre> #include #include int main() { char str1[50], temp; // declare and initialize the size of string array. int i = 0, j =0; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, str1); j = strlen (str1) - 1; // get the length of the string // use while loop to define the condition while ( i <j) 1 { use temp variable to store the characters of str1 str1[j]="str1[i];" str1[i]="temp;" i++; i incremented by j--; j is decremented } printf (\' reversed string: %s\', str1); return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reversed of the string: TNIOPTAVAJ </pre> <h3>Program 6: Print the reverse of a string using pointers</h3> <p>Let&apos;s consider an example to print the reverse of a string using pointers in the C programming language.</p> <p> <strong>Program6.c</strong> </p> <pre> #include #include int str_len( char *st); void revstr( char *st); int main() { char st[50]; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, st); revstr(st); printf (&apos; The reverse string is: %s&apos;, st); return 0; } void revstr (char *st) { int len, i; char *start, *end, temp; len = str_len (st); start = st; end = st; for (i = 0; i <len - 1; i++) end++; for (i="0;" i < len 2; { temp="*end;" *end="*start;" *start="temp;" start++; end--; } int str_len (char *ptr) while ( *(ptr + i) !="" ) i++; return i; pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reverse string is: TNIOPTAVAJ </pre> <h3>Program 7: Program to check whether the reverse string is a Palindrome</h3> <p>Consider a program to check whether the given string is a palindrome or not in the C programming language.</p> <p> <strong>Program7.c</strong> </p> <pre> #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (\' %s a palindrome string\', str1); else palindrome\', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;></pre></len></pre></j)></pre></right;>

5. program: Nyomtassa ki a karakterlánc fordítottját a while ciklus használatával

Nézzünk egy példát egy karakterlánc fordítottjának kinyomtatására a while ciklus használatával C programozási nyelvben.

Program5.c

 #include #include int main() { char str1[50], temp; // declare and initialize the size of string array. int i = 0, j =0; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, str1); j = strlen (str1) - 1; // get the length of the string // use while loop to define the condition while ( i <j) 1 { use temp variable to store the characters of str1 str1[j]="str1[i];" str1[i]="temp;" i++; i incremented by j--; j is decremented } printf (\' reversed string: %s\', str1); return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reversed of the string: TNIOPTAVAJ </pre> <h3>Program 6: Print the reverse of a string using pointers</h3> <p>Let&apos;s consider an example to print the reverse of a string using pointers in the C programming language.</p> <p> <strong>Program6.c</strong> </p> <pre> #include #include int str_len( char *st); void revstr( char *st); int main() { char st[50]; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, st); revstr(st); printf (&apos; The reverse string is: %s&apos;, st); return 0; } void revstr (char *st) { int len, i; char *start, *end, temp; len = str_len (st); start = st; end = st; for (i = 0; i <len - 1; i++) end++; for (i="0;" i < len 2; { temp="*end;" *end="*start;" *start="temp;" start++; end--; } int str_len (char *ptr) while ( *(ptr + i) !="" ) i++; return i; pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reverse string is: TNIOPTAVAJ </pre> <h3>Program 7: Program to check whether the reverse string is a Palindrome</h3> <p>Consider a program to check whether the given string is a palindrome or not in the C programming language.</p> <p> <strong>Program7.c</strong> </p> <pre> #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (\' %s a palindrome string\', str1); else palindrome\', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;></pre></len></pre></j)>

6. program: Nyomtassa ki a karakterlánc hátoldalát mutatók segítségével

Nézzünk egy példát egy karakterlánc fordítottjának kinyomtatására mutatók segítségével a C programozási nyelvben.

Program6.c

 #include #include int str_len( char *st); void revstr( char *st); int main() { char st[50]; printf (&apos; Enter a string to be reversed: &apos;); scanf( &apos;%s&apos;, st); revstr(st); printf (&apos; The reverse string is: %s&apos;, st); return 0; } void revstr (char *st) { int len, i; char *start, *end, temp; len = str_len (st); start = st; end = st; for (i = 0; i <len - 1; i++) end++; for (i="0;" i < len 2; { temp="*end;" *end="*start;" *start="temp;" start++; end--; } int str_len (char *ptr) while ( *(ptr + i) !="" ) i++; return i; pre> <p> <strong>Output</strong> </p> <pre> Enter a string to be reversed: JAVATPOINT The reverse string is: TNIOPTAVAJ </pre> <h3>Program 7: Program to check whether the reverse string is a Palindrome</h3> <p>Consider a program to check whether the given string is a palindrome or not in the C programming language.</p> <p> <strong>Program7.c</strong> </p> <pre> #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (\' %s a palindrome string\', str1); else palindrome\', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;></pre></len>

7. program: Program annak ellenőrzésére, hogy a fordított karakterlánc palindrom-e

Tekintsünk egy programot annak ellenőrzésére, hogy az adott karakterlánc palindrom-e vagy sem a C programozási nyelvben.

pyspark oktatóanyag

Program7.c

 #include #include int main () { // declare variables char str1[30]; int i, len, flag = 0; printf (&apos; Enter a string: &apos;); scanf (&apos;%s&apos;, str1); len = strlen( str1 ); // get the string length for ( i = 0; i <len; i++) { str1[i] is not equal to str1[len-i-1] if (str1[i] !="str1[len" - i 1]) flag="1;" break; exit from statement } (flag) printf (\\' %s a palindrome string\\', str1); else palindrome\\', return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a string: madam madam is a palindrome string. </pre> <hr></len;>