Caesar
要求实现用户输入一个数改变26个字母的排列顺序
例如输入3:
DEFGHIJKLMNOPQRSTUVWXYZABC
输入-3:
XYZABCDEFGHIJKLMNOPQRSTUVW
使用循环链表
代码如下:
#include<stdio.h>
#include<stdlib.h> #define OK 1
#define ERROR 0 typedef int status;
typedef char ElemType; typedef struct DualNode
{
ElemType data;
struct DualNode *prior;
struct DualNode *next;
}DualNode,*DuLinkList; status InitList(DuLinkList *L)
{
DualNode *p,*q;
int i;
*L=(DuLinkList)malloc(sizeof(DualNode)); if(!(*L))
return ERROR; (*L)->next=(*L)->prior=NULL;
p=(*L); for(i=;i<;i++)
{
q=(DualNode*)malloc(sizeof(DualNode));
if(!q)
return ERROR; q->data='A'+i;
q->prior=p;
q->next=p->next;
p->next=q; p=q;
}
p->next=(*L)->next;
(*L)->next->prior=p; return OK;
} void Caesar(DuLinkList *L,int i)
{
if(i>)
{
do
{
(*L)=(*L)->next;
}while(--i);
}
if(i<)
{
(*L)=(*L)->next;
do
{
(*L)=(*L)->prior;
}while(i++);
}
} int main()
{
DuLinkList L;
int i,n;
printf("请输入一个整数:");
scanf("%d",&n); InitList(&L);
Caesar(&L,n); for(i=;i<;i++)
{
L=L->next;
printf("%c",L->data);
}
printf("\n"); return ; }
Caesar的更多相关文章
- Codeforces118D Caesar's Legions(DP)
题目 Source http://codeforces.com/problemset/problem/118/D Description Gaius Julius Caesar, a famous g ...
- codeforces118D. Caesar's Legions
地址:http://www.codeforces.com/problemset/problem/118/D 题目: Gaius Julius Caesar, a famous general, lov ...
- 趣味题:恺撒Caesar密码(c++实现)
描述:Julius Caesar 生活在充满危险和阴谋的年代.为了生存,他首次发明了密码,用于军队的消息传递.假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来.并提供给你 ...
- Caesar's Legions(三维dp)
Caesar's Legions Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u S ...
- 1009: 恺撒Caesar密码
1009: 恺撒Caesar密码 时间限制: 10 Sec 内存限制: 128 MB提交: 349 解决: 215[提交][状态][讨论版] 题目描述 Julius Caesar 生活在充满危险和 ...
- We Chall-Training: Crypto - Caesar I-Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- [WeChall] Training: Crypto - Caesar I (Crypto, Training)
Training: Crypto - Caesar I (Crypto, Training) Crypto - Caesar I As on most challenge sites, there a ...
- WeChall_Training: Crypto - Caesar I (Crypto, Training)
As on most challenge sites, there are some beginner cryptos, and often you get started with the good ...
- 2018 ACM-ICPC 宁夏 C.Caesar Cipher(模拟)
In cryptography, a Caesar cipher, also known as the shift cipher, is one of the most straightforward ...
随机推荐
- 微软提供的API的各个版本之间的区别
First Floor Software这个diff lists非常方便的给出了微软提供的API的各个版本之间的区别,比如下表是.NET 4和.NET 4.5的API变化总结.我们可以看到.NET 4 ...
- 遍历datatable的几种方法【转载】
遍历datatable的方法2009-- :02方法一: DataTable dt = dataSet.Tables[]; ; i < dt.Rows.Count ; i++) { string ...
- HDU 4288 线段树+离散化
题意: n个操作 在[1, 100000] 的区间上add 或del数( 必不会重复添加或删除不存在的数) sum 求出整个集合中 (下标%5 == 3 位置) 的数 的和 注意数据类型要64位 ...
- cocoaPods下载使用记录
cocoaPods下载使用记录 参考地址: 如何在Mac OS 上安装运行Ruby运行环境 http://www.cnblogs.com/daguo/p/4097263.html cocoaPods安 ...
- clearTimeout(timeoutfunc) 是否有必要执行
当使用 setTimeout() 方法的时候,是否必须执行 clearTimeout() ? 在 setTimeout() 内的函数执行之前,如果想要阻止执行该方法,是有必要执行 cleartTime ...
- php代码优化技巧
搬运: 1. 尽量采用大量的PHP内置函数. 2. echo 比print 快. 3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 4. 在执行for循环之前确定最大循环数,不要每循环 ...
- CakePHP的文章分类的功能实现
前些天实现了[微个人.大家园]的文章文类功能.现在回忆一下,是如何完成的吧. 具体的操作步骤如下: 1.在文章posts表里添加一个列,category_id. 2.在数据库中添加一个数据表,cate ...
- 内存储与外存储(IO流的应用)
存储分为内存储,外存储(Sd卡存储),其中还涉及IO流的应用. 我们先来看内存储,在布局中EditView中输入的内容,通过点击按钮,分别进行保存,读取,删除的操作,读取时显示在下面的TextView ...
- if elsif;报错;new赋值
1. IF INSERTING THEN BEGIN 中间不能为空 END;ELSIF DELETING THEN BEGIN E ...
- ASP.NET实现二级域名(多用户,多商店)
本人所了解有两种方案,可能还有其的方式,希望大家多多讨论! 基本思路: 1. 域名支持泛解析,即是指:把A记录 *.域名.com 解析到服务器IP,服务器IIS中做绑定,绑定时主机头为空; 2. ...