Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي الأول - حل التمرين الخامس بلغة C

المطلوب

قم بتعريف دالة إسمها ReverseString, عند استدعاءها نمرر لها نص, فترجعه معكوساً.
بعدها قم بتجربة هذه الدالة في البرنامج مع جعل المستخدم هو يدخل النص الذي سيتم عرضه بشكل عكسي.

مثال: إذا قمنا باستخدام الدالة ReverseString() و تمرير النص I love programming فمن المفترض أن ترجعه هكذا gnimmargorp evol I.


الحل بلغة C

#include <stdio.h>
#include <string.h>

char * reverse(char *s) {
    
    int length, c;
    char *begin, *end, temp;
     
    length = strlen(s);
    begin  = s;
    end    = s;
     
    for (c = 0; c < length - 1; c++)
        end++;
     
    for (c = 0; c < length/2; c++)
    {        
        temp   = *end;
        *end   = *begin;
        *begin = temp;
     
        begin++;
        end--;
    }
       
    return s;
    
}


void main() {
    
    char text[100];
     
    printf("Enter any string: ");
    gets(text);
       
    char * reversedText = reverse(text);
    
    printf("Reversed Text: %s", reversedText);
    
}

سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.

Enter any text: I love programming
Reversed Text: gnimmargorp evol I