我刚刚接受了一次采访,有人问我一个问题:如果不使用循环,您将如何打印所有ascii表字符。语言没关系。
最佳答案
我唯一想到的方法是使用递归而不是循环。执行此操作的算法如下:
void printASCII(int i){
if(i == 128)
return;
print(i + " " + ((char)i) + "\n");
printASCII(i + 1);
}
您应该使用以下方法调用上一个函数:
printASCII(0);
这将打印完整的ASCII表,其中每一行包含索引,后跟空格和实际的ASCII字符。
我想你找不到别的办法了,特别是上面清楚地写着:
语言没关系
这通常意味着问题是关于算法思想的,而不是针对任何语言。