如何打印下一个字母,直到Z并继续到A?

问题描述 投票:-1回答:1

此代码将打印我输入的下一个字母。例如,我输入“ v”,它将显示vwxyz,但我也希望它也打印其他内容,例如vwxyzabc.....

int main()
{
   char a;
   int flag = 0;
   scanf("%c", &a);

   while (a <= 'z') 
   {
      printf("%c", a);
      a++;
   }

   printf("\n");
   return 0;
}

我是C ++的新手,有人可以帮助我吗?

c++ algorithm printing stdstring alphabet
1个回答
1
投票

如果递增的字符不是字母,请减去26返回起点并循环执行,直到看到输入的字符。

#include <cctype> // std::isalpha

char curr = a;
do
{
   printf("%c", curr);
   ++curr;
   if (!std::isalpha(static_cast<unsigned char>(curr)))
      curr -= 26;

} while (curr != a);

([See live demo

© www.soinside.com 2019 - 2024. All rights reserved.