如何使用数字1到26显示一个复杂度的字符



我想通过使用1到26个数字来显示字符a到z,其复杂性必须为1。有什么解决办法请告诉我。谢谢我正在尝试循环,但它的复杂性从1增加。

只需使用一个数组:

char const translate[] = "abcdefghijklmnopqrstuvwxyz";
for ( int i = 1; i <= 26; ++ i ) {
    std::cout << translate[i - 1];
}

问题只是代码翻译的问题,而且随时都有是代码中的一对一关系,翻译表是最简单的。

对于其他人来说,你所说的复杂性是什么意思还不清楚;将单个数字转换为单个数字的复杂性这里的字符是O(1),但我不确定它是怎么测量的反对如果你想把它与输出,不可能实现O(1),因为输出本身是O(n)。

如果您引用http://en.wikipedia.org/wiki/Cyclomatic_complexity它只能在没有条件(if,for…)的程序中完成,因为每个分支的复杂性都会增加1在我看来,唯一的解决方案是:

i=0;
putchar('A'+(i++));
putchar('A'+(i++));
putchar('A'+(i++));
...
putchar('A'+(i++));

太简单会使事情变得复杂;-)

此代码从ascii代码打印字符,从"A"到"Z"。

for(int i=0; i != 27; ++i) {
   cout << (char)(i + 65) << " ";
}  

最新更新