gpt4 book ai didi

c - 使用 while 循环进行字母移位

转载 作者:行者123 更新时间:2023-11-30 17:36:49 24 4
gpt4 key购买 nike

我正在编写一个程序,打印字母表,然后转换一个字母表。它会执行 26 次,因此最终看起来像这样:

1abcdefghijklmnopqrstuvwxyz
2zabcdefghijklmnopqrstuvwxy
3zxabcdefghijklmnopqrstuvwx
4zxyabcdefghijklmnopqrstuvw

到目前为止,我有一个 while 循环,可以执行任何字母并打印字母字符串的一行,但我不知道如何将其推广到一个函数。

这是我的一个字母的代码:

#include <stdio.h>
int main(void)
{
char a = 'a';
char h = 'h';
char z = 'z';
int start_p;
char one = 'a';
int shift = 1;//some of these are used for later parts of my code
int end_p = 1;
int start = 0;
char two = 'a';
one = 'h';

while(one <= z)
{
printf("%c", one);
one = one + 1;
}
one = ;
while(one >= a)
{
printf("%c", one);
one = one - 1;
}

return(0);
}

最佳答案

假设字母 'a''z' 实际上是连续的,您可以执行以下操作:

#define NUMBER_OF_LETTERS 26

main() {
int i;
int shift = 5;

for(i = 0; i < NUMBER_OF_LETTERS; i++) {
printf("%c", (i + shift) % NUMBER_OF_LETTERS + 'a');
}
printf("\n");
}

模运算符将保证您始终使用 0-25 + 'a' 范围内的字母

关于c - 使用 while 循环进行字母移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22567498/

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