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

#include<stdio.h>intmain(){inta[10][10];inti,j,n;scanf("%d",&n);for(i=1;i<n;i++)a[i][... #include<stdio.h>
int main()
{
int a[10][10];
int i,j,n;
scanf("%d",&n);
for(i=1;i<n;i++)
a[i][0]=i;
for(j=0;j<=n;j++)
a[0][j]=j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
a[i][j]=i*j;
}
for(i=0;i<=n;i++)
{
for(j=0;j<=n;j++)
if(i==0&&j==0)
printf("%c ",'*');
else
printf("%3d",&a[i][j]);
}
return 0;
}
展开
 我来答
匿名用户
2015-11-22
展开全部
/*
   思路:
   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<stdio.h>
int main(){
      //定义变量存储输入数
      int n = 0;
     //提示输入一个数(0<n<10)
     printf("请输入一个数(0<n<10):");
     scanf("%d",&n);
     //定义数组存储乘数,被乘数,乘积
     int arr[n-1][n-1];
     int i = 0,j = 0;
     //循环给数组赋值
     for(i = 1;i<n;i++){
         for(j =1;j<n;j++){
           
             arr[0][j] = j;//存储乘数
             arr[i][0] = i;//存储被乘数
             arr[i][j] = i*j;//存储乘积
         }
     }
         
     //打印乘数
     printf("乘数是:");
     for(j = 1;j<n;j++){
         printf("%d\t",arr[0][j]);
     }
     prentf("\n");
     
     //打印被乘数
     printf("被乘数是:");
     for(i = 1;i<n;i++){
         printf("%d\t",arr[i][0]);
     }
     prentf("\n");
     
     //打印乘积
     printf("乘积是:");
    for(i = 1;i<n;i++){
         for(j =1;j<n;j++){
           
             printf("%d\t",arr[i][j]);
         }
     }
     

   return 0;



}


这个代码你试一下,我没有编译,电脑系统出问题了。凭感觉写出来的,有些符号问题你看着改改
如果看不懂的话,你再把这个代码加上,应该会清晰一点
//上面数组的一个遍历
for(i = 0;i<n-1;i++){
         for(j =0;j<n-1;j++){
           
             printf("%d\t",arr[i][j]);
         }
         printf("\n");
     }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式