我想製作一個程序,它需要一個字母並使用凱撒加密將它們從一個值轉換到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);
}
,有隻有很多方法才能在C中合理實現凱撒密碼,而在本站搜索框中的[C]凱撒會產生超過一百個。關於你的代碼。 「傢伙[我]」,而不是「傢伙[10]」,應該在你的時間表達式中。 'guy',不是'&guy',應該是傳遞給'scanf'的參數。 – WhozCraig
雖然這是真的,但它們都不覆蓋C語言的深度 –