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

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

المطلوب

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


الحل بلغة C

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

// printLongestName() هنا قمنا بتعريف الدالة
void printLongestName(char *arr[], int arrLength) {

    int longestWordLength = 0;
    int longestWordIndex = 0;
    
    for (int i = 0; i < arrLength; i++)
    {
        if (strlen(arr[i]) > longestWordLength)
        {
            longestWordLength = strlen(arr[i]);
            longestWordIndex = i;
        }
    }
    
    printf("The longest name is '%s', which is contain %d characters",  arr[longestWordIndex], longestWordLength);

}


// printLongestName() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
void main() {
    
    char *names[] = {"Mhamad", "Abdullah", "Rami", "Zeina", "Marwa"};
    int arrLength = sizeof(names) / sizeof(names[0]);

    printLongestName(names, arrLength);
    
}

سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.

The longest name is 'Abdullah', which is contain 8 characters