logo

Atvirkštinė eilutė C

Eilutės apvertimas C yra pagrindinė operacija, apimanti eilutės simbolių pertvarkymą taip, kad paskutinis simbolis taptų pirmuoju, nuo antro iki paskutinio – antruoju ir pan.

Pavyzdžiui,



Original String: 'string'  Reversed String: 'gnirts'>

Šiame straipsnyje aptarsime įvairius būdus, kaip pakeisti eilutę C, naudodami kodų pavyzdžius.

Įvairūs būdai, kaip pakeisti eilutę C

Yra įvairių būdų, kaip pakeisti eilutę C. Kai kurie iš jų aptariami toliau:

  1. Apverskite eilutę naudodami kilpą
  2. Apverskite eilutę naudodami rekursiją
  3. Apverskite eilutę naudodami žymeklį C
  4. Apverskite eilutę naudodami bibliotekos funkciją

1. Apverskite eilutę naudodami kilpą

Taikant šį metodą,



  • Naudojame for kilpą su dviem kintamaisiais i ir j, atitinkamai nukreipiančiais į eilutės pradžią ir pabaigą.
  • Mes pakeičiame simbolius, esančius indeksuose i ir j, ir atitinkamai pereiname į gretimą dešinę ir kairę, t. y. didiname i ir mažiname j.
  • Tai darome tol, kol i yra didesnis arba lygus j.

Kaip rezultatą gauname atvirkštinę eilutę.

Įgyvendinimas

C






// C program to reverse the string in C using loops> #include> #include> int> main()> {> >// string to be reversed.> >char> str[100] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// string length> >int> len =>strlen>(str);> >// for loop> >for> (>int> i = 0, j = len - 1; i <= j; i++, j--) {> >// swapping characters> >char> c = str[i];> >str[i] = str[j];> >str[j] = c;> >}> >printf>(>'Reversed String: %s'>, str);> >return> 0;> }>

>

>

Išvestis

js funkcijos iškvietimas iš html
Original String: string Reversed String: gnirts>

2. Apverskite eilutę naudodami rekursiją

Šiam metodui simboliams sukeisti naudosime rekursiją.

Įgyvendinimas

C




// C program to reverse string using recursion> #include> #include> // recursive function to reverse string> void> reverse(>char>* str,>int> len,>int> i,>int> temp)> {> >// if current index is less than the remaining length of> >// string> >if> (i temp = str[i]; str[i] = str[len - 1]; str[len - 1] = temp; i++; len--; reverse(str, len, i, temp); } } // driver code int main() { char str[100] = 'string'; printf('Original String: %s ', str); int len = strlen(str); reverse(str, len, 0, 0); printf('Reversed String: %s', str); return 0; }>

>

>

pelės slinktis neveikia
Išvestis

Original String: string Reversed String: gnirts>

3. Apverskite eilutę naudodami žymeklį C

Čia naudosime du žymeklius, vienas yra pradžios rodyklė, o kitas - pabaigos rodyklė. ir sukeisdami simbolius, kurių sieksime, pakeiskite simbolius, panašius į tai, ką padarėme pirmuoju metodu.

Įgyvendinimas

C




// C program to reverse a string using pointers> #include> #include> // function to reverse the string> void> stringReverse(>char>* str)> {> >int> len =>strlen>(str);> >// pointers to start and end> >char>* start = str;> >char>* end = str + len - 1;> >while> (start char temp = *start; *start = *end; *end = temp; start++; end--; } } // driver code int main() { char str[] = 'string'; printf('Original String: %s ', str); // calling function stringReverse(str); printf('Reversed String: %s', str); return 0; }>

>

>

Java eilutė palyginimui
Išvestis

Original String: string Reversed String: gnirts>

4. Apverskite eilutę naudodami bibliotekos funkciją

C programoje turime viduje apibrėžtą bibliotekos funkciją, kurią galima naudoti norint pakeisti eilutę. Funkcija strrev() yra paprasčiausias būdas pakeisti eilutę.

Sintaksė

char* strrev(char* str);>

kur str yra eilutė, kurią reikia pakeisti.

Pastaba: Funkcija strrev () nėra standartinės C kalbos dalis, todėl jos gali nebūti kiekviename kompiliatoriuje.

Įgyvendinimas

C




// C program to reverse a string using strrev()> #include> #include> int> main()> {> >char> str[] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// reversing string> >printf>(>'Reversed String: %s'>, strrev(str));> >return> 0;> }>

>

>

Išvestis

Original String: string Reversed String: gnirts>