The code this far has the numbers being put in a linked list. How can I do something like this:

Would you like to enter an integer (y for yes/n for no)? y
Enter an integer:100
Would you like to enter an integer (y for yes/n for no)? y
Enter an integer:30
Would you like to enter an integer (y for yes/n for no)? y
Enter an integer:50
Would you like to enter an integer (y for yes/n for no)? y
Enter an integer:10
Would you like to enter an integer (y for yes/n for no)? n
Your list in reverse order is:
10 30 50 100

Here is the code. Do I need to make another funciton?
 ``1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071`` ``````#include #include /* Link list node */ struct node { int data; struct node* next; }; /* Function to reverse the linked list */ static void reverse(struct node** head_ref) { struct node* prev = NULL; struct node* current = *head_ref; struct node* next; while (current != NULL) { next = current->next; current->next = prev; prev = current; current = next; } *head_ref = prev; } /* Function to push a node */ void push(struct node** head_ref, int new_data) { /* allocate node */ struct node* new_node = (struct node*) malloc(sizeof(struct node)); /* put in the data */ new_node->data = new_data; /* link the old list off the new node */ new_node->next = (*head_ref); /* move the head to point to the new node */ (*head_ref) = new_node; } /* Function to print linked list */ void printList(struct node *head) { struct node *temp = head; while(temp != NULL) { printf("%d ", temp->data); temp = temp->next; } } /* Drier program to test above function*/ int main() { /* Start with the empty list */ struct node* head = NULL; push(&head, 20); push(&head, 4); push(&head, 15); push(&head, 85); printList(head); reverse(&head); printf("\n Reversed Linked list \n"); printList(head); getchar(); }``````