@C语言大神,我想敲出这样的乘法表,怎么写代码?跪谢!

如题所述

#include "stdio.h"
void main()
{
    int i,j,k;
    for(i=1;i<=9;i++)
    {
    for(k=1;k<i;k++){
    printf("        ");
    }
    for(j=i;j<=9;j++){
    if(i*j>=10) printf("%d*%d=%d  ",i,j,i*j);
    else printf("%d*%d=0%d  ",i,j,i*j);
    }
    printf("\n");
   }
}

追问

有简单一点的做法吗?

追答

。。。还不够简单么 你前面又要空那么多行只能再用一个for循环来增加空格咯
已经很简单了 如果还要更简单就不要写这样的乘法表咯

追问


按照你说的写的,执行不出来

追答

。。真的是照着我那个写的么首先大括号你就已经少写了 其次空格不能剩

追问

哪个大括号少写了啊!好像都对呀

追答

#include "stdio.h"
void main()
{
int i,j,k;
for(i=1;i=10) printf("%d*%d=%d ",i,j,i*j);
else printf("%d*%d=0%d ",i,j,i*j);
}
printf("\n");
}
}
你整个直接复制进去再测试 我写的是一个for里包括两个for
你写的是两个for 其中一个for包括了一个for

追问

为啥我的歪了?求调整!

追答

for(k=1;k<i;k++)里面的printf减个空格 再问砍手(╯‵□′)╯︵┻━┻

追问

谢谢大神不杀之恩

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-06
要参考代码吗?
第2个回答  2015-04-06
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",j,i,i*j);
printf("\n");
}
system("pause");
}追问

不对,输出来的是错的

# include
int main()
{
int x,y,z;
for(x=1;x<=9;x++)
{ for(y=1;y<=x;y++)
{z=x*y;
printf("%d*%d=%-3d",y,x,z);
printf("\n"); }
}
getch();
}

追答

没有错,把代码全复制!肯定通过。

追问

那,你看看我的哪里不对了?

你看错了吧,我要的不是标准的99乘法表,而是颠倒到右边的99 乘法表!要有一些空格才行的!

本回答被网友采纳
相似回答