关于c的问题
那位大侠看一下,题目是要干什么的.问题应该用那些函数?谢谢Es soll ein einfaches Verschluesselungsprogramm implementiert werden,das auf der Caesar-Chiffre basiert. Bei dieser Verschluesselungstechnik wird jeder Buchstabe des Textesim Alphabet um eine feste Anzahl von Stellen verschoben; diese positive Zahl ist ”der Schluessel“. Unter http://de.wikipedia.org/wiki/Caesar-Chiffre finden Sie eine Beschreibung der Caesar-Chiffre.
a) Der Benutzer soll den Namen einer Textdatei angeben; diese Datei wird dann zeilenweise eingelesen.
Zur Vereinfachung duerfen Sie annehmen, daß der Text nicht mehr als 200 Zeichen pro Zeile enthaelt.
b) Der Benutzer kann zwischen drei Verschluesselungsarten waehlen:
• Spiegeln der einzelnen Zeilen (also Umkehrung der Reihenfolge der Zeichen einer Zeile)
• Anwenden der Caesar-Chiffre
• Anwenden der Caesar-Chiffre und anschließendes Spiegeln der Zeile.
Stellen Sie sicher, daß nur natuerliche Zahlen als Schluesseleingabe des Benutzers akzeptiert werden !
c) Probieren Sie bei der Caesar-Chiffre fuer einen kurzen Testtext verschiedene Moeglichkeiten aus, um
sicherzustellen, daß Ihr Programm richtig funktioniert !
d) Was passiert, wenn man die Verschluesselung doppelt anwendet ?
e) Wo wird die Caesar-Chiffre heute noch benutzt ?
f) Entschluesseln Sie den Geheimtext auf der Vorlesungs-Webseite ! 编一个Caesar-Chiffre 程序加密文字,(Caesar-Chiffre 自己看吧),每个单词的每个字母将被后移n,n就是密钥,比如,密钥=3,则单词werden被加密后变成,zhughq.
每个字母都有其对应的ascii码,读取文本行后,赋值给一个字符数组,数组的每个元素以ascii码形式存在,A好像是60几,具体数忘了,将每一数组元素加上密钥,再以字符形式显式就完成加密.
注意,x应当为加密为a,y->b,z->c,也就是不能逸出,即进制为26.
置于Spieglung,原理类似.
c好像没有类似matlab语言之类的str2num和num2str函数,(好久没用c了,忘了,呵呵)
偶认为,此练习让人学习ascii码,字符串,字符数组,字符数组元素,以及,字符和ascii码间转换的.
e的答案偶不知.
页:
[1]