c语言九九乘法表

#include<stdio.h>voidmain(){inti=0,j=0;intn;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i... #include <stdio.h>void main()
{
int i = 0, j = 0;
int n;
while(scanf("%d",&n)!=EOF)
{
for (i = 1; i <= n; i++)

{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d ",j,i,i*j);
}
printf("\n");
} }
}

错误是格式错误。
怎么改?
输入
输入包含多组测试数据,以 EOF 结束。每组测试数据只包含一个正整数 n (0 < n < 10)。
输出对于每组测试数据,输出上图所示“九九乘法表”的前 n 行。

显示错误:这是ACM比赛题错误是:Presentation Error!!!
我认为是每一行的最后的空格多余了!?不知大神有何见解!请教。
展开
 我来答
月亮月亮月l
推荐于2019-08-07 · TA获得超过2464个赞
知道答主
回答量:20
采纳率:0%
帮助的人:2588
展开全部

操作方法 :

#include 
int main() {
int i,j; // i, j控制行或列 
for(i=1;i<=9;i++) {
for(j=1;j<=i;j++)
// %2d 控制宽度为两个字符,且右对齐;如果改为 %-2d 则为左对齐
// \t为tab缩进
printf("%d*%d=%2d\t", i, j, i*j);
printf("\n");
}
return 0;
}


运行结果 :
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3=12 4*4=16
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81


斋壮元8
高粉答主

2018-12-14 · 繁杂信息太多,你要学会辨别
知道答主
回答量:369
采纳率:19%
帮助的人:66.6万
展开全部

九九乘法表共9行9列,重点考察for循环的掌握情况。下面给出了输出完整乘法表、右上、右下、左上、左下乘法表的代码。

1、【代码一】输出完整的三角形:

#include <stdio.h>

int main() {

int i,j;  // i, j控制行或列 

for(i=1;i<=9;i++) {

for(j=1;j<=9;j++)

// %2d 控制宽度为两个字符,且右对齐;如果改为 %-2d 则为左对齐

// \t为tab缩进

printf("%d*%d=%2d\t", i, j, i*j);

printf("\n");

}

return 0;

}

2、【代码二】输出右上三角形和左上三角形:

#include <stdio.h>

int main() {

int i,j;

for(i=1;i<=9;i++){

for(j=1;j<=9;j++){

if(j<i)

//打印八个空格,去掉空格就是左上三角形 

printf("        ");

else

printf("%d*%d=%2d  ",i,j,i*j);

}

printf("\n");  

}

return 0;

}

3、【代码三】输出右下和左下三角形:

#include <stdio.h>

int main(){

int i,j,n;

for(i=1;i<=9;i++){

// 将下面的for循环注释掉,就输出左下三角形

for(n=1; n<=9-i; n++)

printf("        ");

for(j=1;j<=i;j++)

printf("%d*%d=%2d  ",i,j,i*j);

printf("\n");

}

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐临祥
高粉答主

2019-12-20 · 醉心答题,欢迎关注
知道小有建树答主
回答量:3380
采纳率:96%
帮助的人:86.3万
展开全部
操作方法 :

#include
int main() {
int i,j; // i, j控制行或列
for(i=1;i<=9;i++) {
for(j=1;j<=i;j++)
// %2d 控制宽度为两个字符,且右对齐;如果改为 %-2d 则为左对齐
// \t为tab缩进
printf("%d*%d=%2d\t", i, j, i*j);
printf("\n");
}
return 0;
}

运行结果 :
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3=12 4*4=16
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友043360f
推荐于2017-10-14 · TA获得超过441个赞
知道小有建树答主
回答量:278
采纳率:60%
帮助的人:108万
展开全部
#include<stdio.h>
main()
{
int i,j;
printf("\t\t完整版9*9乘法口诀表格\n");
for(i=1;i<10;i++)
{
for(j=1;j<i+1;j++)
printf("%d*%d=%d\t",j,i,i*j);
printf("\n");
}
}
这是我今天刚写的 参考下
你写的没有错误啊 我刚试过了
希望采纳 不会可追问
追问
貌似是最后一行的空格需要删去!怎么删?
我写的那个~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天空只需
2019-05-14
知道答主
回答量:1
采纳率:0%
帮助的人:724
展开全部

成果,望采纳;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式