Please I want this code in c programming and please make comments on the code
KCULEARN BackForw SYSC 2006-Assignment 3 (100 points) Purpose To allow you to exercise with a logical thinking process to formulate algorthms and to implement the algorithms using the C Programming Language. The logic will include inputs and outputs, looping using counters, and conditional statements (if and else), and linked lists. Questions Write a separate C program for each of the fellowing a. Use a singly linked list to implement a priority queue with two operations: enqueue and dequrur. Each mode contains an integer value, a priority, and a pointer to the next node. The priority is a value between 1- 10 (where 10 is the highest priorty). When a value is added to the queue it is added with a value and prionity. When a value is removed from the priority queue, the first element with the highest priority is removed first not simply the first element) that store integers, and appends the second one to the first. b. Create a function called appendLists that takes two heads of lists c Create a function called eliminateFromList that takes a head of a Inked list and a number, and deletes all nodes containing that number from the list. If there are no nodes containing that number, the linked Est stays the d Create a function called reverseList that takes the head ef a linked list reverses the order of all the nodes For example, if the list contained 1.2 3, 4 in its nodes, the list will now contain 4,3, 2. 1 For all of the above, make sure you create a main function that tests the functionality of each of the requirements, and clearly prints messages showing that the functionality is properly met You will be graded as follows for each problem (25 points each) 15 points for the correctness of the logic .5 points for an efficient implementation of your logic . 5 points for a professional jadgment of your overall solution