社区讨论

为什么错了啊

P1914小书童——凯撒密码参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo88ivca
此快照首次捕获于
2023/10/27 14:31
2 年前
此快照最后确认于
2023/10/27 14:31
2 年前
查看原帖
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 64 
typedef struct Ring
{
	struct Ring *next;
	char element;
} ring;

ring *initRing()
{
	ring *p=NULL;
	ring *temp=(ring*)malloc(sizeof(ring));
	temp->element='a';
	temp->next=NULL;
	p=temp;
	for(int i=2;i<=26;i++)
	{
		ring *a=(ring*)malloc(sizeof(ring));
		a->element='a'-1+i;
		a->next=NULL;
		temp->next=a;
		temp=temp->next;
	}
	temp->next=p;
	return p;
}

int main()
{
	int n;
	char str[SIZE];
	scanf("%d",&n);
	getchar();
	ring *p=initRing();
	gets(str);
	for(int i=0;i<strlen(str);i++)
	{
		ring *temp=p;
		for(int a=0;a<str[i]-'a';a++)
		{
			temp=temp->next;
		}
		for(int j=0;j<n;j++)
		{
			temp=temp->next;
		}
		putchar(temp->element);
	}
}

回复

1 条回复,欢迎继续交流。

正在加载回复...