c_cpp 第1周继续Caeser

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 第1周继续Caeser相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cs50.h>
#include <ctype.h>

int main(int argc, string argv[])
{
	if (argc != 1)
	{
		// get key from command line argument
			string key = argv[(argc - 1)];

		// turn key into integer
			int k = atoi(key);

			if ( k != 0 )
				{
					// prompt for plaintext
						string text = get_string("Please type your text: ");
						int l = strlen(text);

					// for each character in the plaintext string
						if (l!= 0)
						{
							for (int i=0; i<l; i++)
								{
									// if alphabetic
										if (isalpha(text[i]))
										{
											// preserve case
												if(isupper(text[i]))
												{
												// shift plaintext character by key
													// convert to alphabetical index
													int o = text[i] - 'A';
													// convert to ciphertext letter: c = (p+k)%26
													int c = (o+k)%26;
													// convert to ascii for upper case char
													text[i] = c + 'A';
												}

												else
												{
												// shift plaintext character by key
													// convert to alphabetical index
													int o = text[i] - 'a';
													// convert to ciphertext letter: c = (p+k)%26
													int c = (o+k)%26;
													// convert to ascii for lower case char
													text[i] = c + 'a';
												}
										}
								}

							// print ciphertext
								printf("The crypto-text is: %s\n", text);
						}
				}
	}
}

以上是关于c_cpp 第1周继续Caeser的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 第1周马里奥1

c_cpp 第1周马里奥2

c_cpp 第1周为C程序员编写的C ++作业

c_cpp 适用于C程序员的C ++第2周

Python:IndexError:列表索引超出范围 Caeser Cipher

第2周作业1