题目:
要求实现用户输入一个数使得26个字母的排列发生变化,例如用户输入3,输出结果:
DEFGHIJKLMNOPQRSTUVWXYZABC
同时需要支持负数,例如用户输入-3,输出结果:
XYZABCDEFGHIJKLMNOPQRSTUVW
代码演示如下:
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef int Status;//将int定义为Status返回
typedef char Elemtype;//暂定Elemtype为char
//双向链表数据结构
typedef struct DualList
{
Elemtype data;
struct DualList *prior;
struct DualList *next;
}DualNode,*DuaLinkList;//定义两个变量名,一个无指针,一个有指针
//初始化双向链表
Status Initlist(DuaLinkList *L)
{
DualNode *p,*q;
int i;
//建立一个头节点指针
(*L)=(DuaLinkList)malloc(sizeof(DualNode));
//错误控制
if (!(*L))
{
return ERROR;
}
//清零头节点
(*L)->prior=(*L)->next=NULL;
//这里使用p,q两个指针进行插入操作
p=(*L);
for (i=0;i<26;i++)
{
//建