#include <stdio.h> int custom_strlen(const char *temp) { int cnt = 0; while(*(temp +cnt) != '\0') { cnt++; } return cnt; } void reverse_string(char *str) { int start = 0; int end = 0; // Find length of string while (str[end] != '\0') { end++; } end--; // Move to last valid character // Swap characters from both ends while (start < end) { char temp = str[start]; str[start] = str[end]; str[end] = temp; start++; end--; } } int main() { char str[101]; fgets(str, sizeof(str), stdin); // Remove newline int i = 0; while (str[i] != '\0') { if (str[i] == '\n') { str[i] = '\0'; break; } i++; } reverse_string(str); printf("%s", str); return 0; }
Test Cases
Test Results
Input
firmware
Expected Output
erawmrif