#include <stdio.h>
#include <string.h>
void encrypt(char* text, char* key, char* result) {
int textLen = strlen(text);
int keyLen = strlen(key);
for (int i = 0; i < textLen; i++) {
result[i] = ((text[i] - 'A') + (key[i % keyLen] - 'A')) % 26 + 'A';
}
result[textLen] = '\0';
}
void decrypt(char* cipher, char* key, char* result) {
int textLen = strlen(cipher);
int keyLen = strlen(key);
for (int i = 0; i < textLen; i++) {
result[i] = ((cipher[i] - key[i % keyLen] + 26) % 26) + 'A';
}
result[textLen] = '\0';
}
int main() {
char text[100], key[100], encrypted[100], decrypted[100];
printf("Enter plaintext (uppercase letters only): ");
scanf("%s", text);
printf("Enter key (uppercase letters only): ");
scanf("%s", key);
encrypt(text, key, encrypted);
printf("Encrypted: %s\n", encrypted);
decrypt(encrypted, key, decrypted);
printf("Decrypted: %s\n", decrypted);
return 0;
}