输入一个正整数n(0<n<10),输出九九乘法表的前nxn项(将乘数、被乘数和乘积放入一个二维数组中

2025-06-23 10:57:59
推荐回答(1个)
回答1:

/*
   思路:
   1)定义一个n行n列的矩阵,int arr[n-1][n-1];
   2)以第0行存储乘数,第0列存储被乘数。
      则第一个乘数是arr[0][1],最后一个乘数是arr[0][n-1]
        第一个被乘数是arr[1][0],最后一个被乘数是arr[n-1][0]
   3)除开乘数和被乘数的数组空间存储乘积
     则第一个乘积是arr[1][1]
       最后一个乘积是arr[n-1][n-1]
   4)arr[0][0]这个存储单元我舍弃掉了

*/

#include
int main(){
      //定义变量存储输入数
      int n = 0;
     //提示输入一个数(0     printf("请输入一个数(0     scanf("%d",&n);
     //定义数组存储乘数,被乘数,乘积
     int arr[n-1][n-1];
     int i = 0,j = 0;
     //循环给数组赋值
     for(i = 1;i         for(j =1;j           
             arr[0][j] = j;//存储乘数
             arr[i][0] = i;//存储被乘数
             arr[i][j] = i*j;//存储乘积
         }
     }
         
     //打印乘数
     printf("乘数是:");
     for(j = 1;j         printf("%d\t",arr[0][j]);
     }
     prentf("\n");
     
     //打印被乘数
     printf("被乘数是:");
     for(i = 1;i         printf("%d\t",arr[i][0]);
     }
     prentf("\n");
     
     //打印乘积
     printf("乘积是:");
    for(i = 1;i         for(j =1;j           
             printf("%d\t",arr[i][j]);
         }
     }
     

   return 0;



}


这个代码你试一下,我没有编译,电脑系统出问题了。凭感觉写出来的,有些符号问题你看着改改
如果看不懂的话,你再把这个代码加上,应该会清晰一点
//上面数组的一个遍历
for(i = 0;i         for(j =0;j           
             printf("%d\t",arr[i][j]);
         }
         printf("\n");
     }