C++新手疑问:未用多维数组实现10以内乘法表是否正确?
关于你的10以内乘法表代码与数组使用的疑问解答
嘿,作为刚入门C++、正在学数组的零基础新手,先给你吃个定心丸:你写的这段乘法表代码完全正确!
你之所以会产生疑惑,大概率是觉得当前学数组就必须用上它,但其实数组的核心作用是存储一组同类型数据,方便后续重复访问或批量处理。而你的代码逻辑是计算出i*j的结果后直接输出,没有需要把这些结果存起来后续再用的需求,所以完全没必要强行引入数组。这种“即时计算即时输出”的写法,简洁又高效,完全符合功能要求。
如果想借着这个练习巩固数组的使用,我给你展示下用二维数组实现的版本,方便你直观对比两种写法的区别:
#include <iostream> using namespace std; int main() { // 定义一个10×10的二维数组,用来存储所有乘法结果 int productTable[10][10]; // 第一步:先把所有乘法结果填充到数组里 for(int i = 0; i < 10; ++i) { for(int j = 0; j < 10; ++j) { // 这里循环变量从0开始,所以实际乘数是i+1和j+1 productTable[i][j] = (i + 1) * (j + 1); } } // 第二步:遍历数组,把结果输出成乘法表 for(int i = 0; i < 10; ++i) { for(int j = 0; j < 10; ++j) { cout << productTable[i][j] << "\t" << flush; } cout << endl; } return 0; }
你提到后续调整时遇到了困惑,可以具体说说是什么问题吗?比如是想修改成数组版本时卡壳了,还是对数组的使用场景有别的疑问?不过就你当前的代码而言,它逻辑清晰、功能正常,完全没问题~
内容的提问来源于stack exchange,提问作者Golide
相关产品推荐
相关产品推荐

