Я хочу сделать программу, которая берет буквы и использует шифрование Цезаря, чтобы сдвинуть их от значения до 1 до b. Для этого он должен использовать строку.C-язык - программа шифрования Цезаря
Моя проблема заключается в том, что моя программа не будет вводить вход пользователя в строку. (Я попытался поместить парня [10] в scanf, но это только вызвало сбой программы - поэтому я охотно помещал туда неправильного парня, чтобы программа могла скомпилировать).
#include <stdio.h>
int main(){
int i=0; //setting the individual slot number for the array-- later used in the while loop
char guy[10];
printf("Enter Plain Text:");
scanf("%s",&guy); //takes user's input-- such as "abc" and puts it into its respective slot in the array guy[10] r-right?
while (guy[10] != '\0'){ //while loop that runs until it reaches the end of the string
if ((guy[i]) >= 'A' && (guy[i]<= 'Z')){ //moves capital letter values up 1
guy[i]=guy[i]++; //makes the current "slot" number go up 1 value. Example: a = 97 + 1 -> b = 98
}
if ((guy[i]) >= 'a' && (guy[i]) <= 'z'){// moves lower case letter values up 1
guy[i]=guy[i]++;
}
i++; //moves the array's interval up to the next "slot"
}
printf("Encrypted text is: %s",guy);
}
Fyi, там только так много способов разумно внедрить цезарные шифры в C, а '[c] Caesar' в окне поиска этого сайта даст более сотни из них. Что касается вашего кода. 'guy [i]', а не 'guy [10]', должен быть в вашем выражении while-condition. И 'guy', а не' & guy', должен быть параметром, переданным в 'scanf'. – WhozCraig
, хотя это верно, ни один из них не слишком глубоко охватывает C-язык –