gpt4 book ai didi

c - 分割字符串并解密它们

转载 作者:行者123 更新时间:2023-11-30 17:40:21 27 4
gpt4 key购买 nike

我有一个作业,要求我们分割一个字符串并对其进行解读。例如:

“rsedreve*_emth_*kema*_ot_*si*_skta_*uryo”

变成:“你的任务就是让它们颠倒过来。”

到目前为止,对于代码,我只是分割了字符串:

 char secondString[50];

char *secondString_ptr;

strcpy(secondString, "rsedreve*_*emth*_*kema*_*ot*_*si*_*skta*_*uryo");

secondString_ptr = strtok(secondString, "*_*");

while(secondString_ptr != NULL){
printf("%s ", secondString_ptr);
secondString_ptr = strtok(NULL, "*_*");
}

输出:

rsedreve emth kema ot si skta uryo

显然,这里的模式是从这些标记长度的一半开始,将这些字符添加到 char[] 中,然后将每个标记开头的字符添加到末尾。有人可以帮助我并告诉我如何做到这一点吗?

最佳答案

当你分割了字符串后,你需要对它们进行解读。我认为最简单的解读方法是交换适当的字母。

所以你找到中间的部分,然后与开头部分交换,依此类推。例如,如果您有“123456”,则交换 1 和 4,然后交换 2 和 5,然后交换 3 和 6。

这是一个可以执行此操作的基本函数:

char* unscramble(char *input)
{
int len = strlen(input);
int half = len >> 1;
int i;
for (i=0 ;i<half; i++)
{
int temp = input[i];
input[i] = input[half+i];
input[half+i] = temp;
}
return input;
}

关于c - 分割字符串并解密它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21543056/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com