#include unsigned char encode(unsigned char c) { if ((c >= 'A' && c <= 'Z')) return ((c - 'A' + 13) % 26) + 'A'; else if ((c >= 'a' && c <= 'z')) return ((c - 'a' + 13) % 26) + 'a'; else return c; // Non-alphabetic characters are unchanged } unsigned char decode(unsigned char c) { return encode(c); // ROT13 encoding and decoding are the same }