هل يمكنك أن تكتب لي بعض الوظائف في لغة C للعثور على الحد الأقصى/الدقيقة المطلقة لمجموعة من الأعداد الصحيحة؟
هل يمكنك أن تكتب لي بعض الوظائف في لغة C للعثور على الحد الأقصى/الدقيقة المطلقة لمجموعة من الأعداد الصحيحة؟
user
بالتأكيد، هذا بسيط للغاية. يمكننا استخدام وظيفة abs في مكتبة C القياسية مثل هذا:

#تشمل <stdio.h>
#تشمل <stdlib.h>

int abs_max(int ​​*arr, int len) {
    int n = abs(arr[0]);
    ل(int i = 1; i < len; i++) {
        if(abs(arr[i]) > n) n = abs(arr[i]);
    }
    العودة ن؛
}

int abs_min(int *arr, int len) {
    int n = abs(arr[0]);
    ل(int i = 1; i < len; i++) {
        if(abs(arr[i]) < n) n = abs(arr[i]);
    }
    العودة ن؛
}

int الرئيسي(int argc, char **argv) {
    إنت لين = أرجك - 1؛
    int *nums = malloc(sizeof(int) * len);
    ل(int i = 1; i < argc; i++) {
        nums[i - 1] = atoi(argv[i]);
    }
    printf("الحد الأدنى المطلق: %d\n"، abs_min(nums, len));
    printf("الحد الأقصى المطلق: %d\n"، abs_max(nums, len));
}

لأغراض هذا التمرين، نحن نأخذ المدخلات من وسائط سطر الأوامر، ونحول كل منها إلى عدد صحيح باستخدام atoi (أيضًا في المكتبة القياسية)، ثم نستدعي وظائفنا ونطبع النتائج.
assistant