标题:[求助]九九乘法表"程式化簡"
只看楼主
a02042408
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-28
 问题点数:0 回复次数:8 
[求助]九九乘法表"程式化簡"

目的 打印如下 "9 宮格"
1*1 = 1 1*2 = 2 1*3 = 3
2*1 = 2 2*2 = 4 2*3 = 6
3*1 = 3 3*2 = 6 3*3 = 9
4*1 = 4 4*2 = 8 4*3 = 12
5*1 = 5 5*2 = 10 5*3 = 15
6*1 = 6 6*2 = 12 6*3 = 18
7*1 = 7 7*2 = 14 7*3 = 21
8*1 = 8 8*2 = 16 8*3 = 24
9*1 = 9 9*2 = 18 9*3 = 27

1*4 = 4 1*5 = 5 1*6 = 6
2*4 = 8 2*5 = 10 2*6 = 12
3*4 = 12 3*5 = 15 3*6 = 18
4*4 = 16 4*5 = 20 4*6 = 24
5*4 = 20 5*5 = 25 5*6 = 30
6*4 = 24 6*5 = 30 6*6 = 36
7*4 = 28 7*5 = 35 7*6 = 42
8*4 = 32 8*5 = 40 8*6 = 48
9*4 = 36 9*5 = 45 9*6 = 54

1*7 = 7 1*8 = 8 1*9 = 9
2*7 = 14 2*8 = 16 2*9 = 18
3*7 = 21 3*8 = 24 3*9 = 27
4*7 = 28 4*8 = 32 4*9 = 36
5*7 = 35 5*8 = 40 5*9 = 45
6*7 = 42 6*8 = 48 6*9 = 54
7*7 = 49 7*8 = 56 7*9 = 63
8*7 = 56 8*8 = 64 8*9 = 72
9*7 = 63 9*8 = 72 9*9 = 81

#include <stdio.h>

int main(void)
{
int i, j;

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

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

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

return 0;
}



請問可否化簡for的數量?
該如何精簡程式?

thx



[此贴子已经被作者于2007-8-28 6:32:46编辑过]

搜索更多相关主题的帖子: 乘法表 程式化 
2007-08-28 06:29
cyhbp
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-8-27
得分:0 

#include <stdio.h>

int main(void)
{
int i, j, k=1, l=3;

for (i=1; i<=9; i++)
{
for (j=k; j<=l; j++)
{
printf("%d*%d = %2d\t",i ,j ,i*j);
}
if (i==9&&j<9)
{
k=k+3;
l=l+3;
i=0;
printf("\n");
}
printf("\n");
}
getch();

return 0;
}


2007-08-28 09:34
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
得分:0 
我的:
#include<stdio.h>
int main( void )
{
int i, j, k;
for(k = 0; k < 3; k++)
{
for(i = 1; i <= 9; i++)
{
for(j = 3*k+1; j <= 3*k+3; j++)
printf("%d * %d = %d\t",i,j,i*j);
printf("\n");
}
printf("\n");
}
//getch();
return 0;
}

2007-08-28 09:53
a02042408
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-28
得分:0 

主要想知道哪些地方可化簡,謝謝各位大大
thx 兩位大大的寫法

另外後來想到的寫法

#include<stdio.h>
int main( void )
{
int i, j;
for(i = 1; i < 10; i=i+3)
{
for(j = 1; j < 10; j++)
{
printf("%d * %d = %d ",i,j,i*j);
printf("%d * %d = %d ",i+1,j,(i+1)*j);
printf("%d * %d = %d \n",i+2,j,(i+2)*j);
}
printf("\n");
}
//getch();
return 0;
}


[此贴子已经被作者于2007-8-28 22:09:00编辑过]

2007-08-28 22:02
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 
#include<stdio.h>
main()
{
int i,j,t;
t=1;
do{
for(i=1;i<=9;i++){
for(j=t;j<=t+2;j++){
printf("%d*%d=%2d ",i,j,i*j);
if(j%3==0){
putchar('\n');
}
}
}
putchar('\n\n');
t=t+3;
}while(t!=10);


}

一分耕耘,一分收获。
2007-08-29 17:52
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 
回复:(nwpu063417)我的:#includei...
强!!!

一分耕耘,一分收获。
2007-08-29 17:58
刺客
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-7
得分:0 
第一种
#include <stdio.h>
void main()
{
int y,x;
y=1;
while(y<=9)
{
x=1;
while(x<=y)
{
if(y==3&&x==4||y==3&&x==3||y==4&&x==3)
printf(" %d*%d=%d ",y,x,y*x);
else
printf("%d*%d=%d ",y,x,y*x);
x++;
}
printf("\n");
y++;
}
}

第二种
#include <stdio.h>
void main()
{
int y,x;
y=1;
while(y<=9)
{
x=1;
while(x<=y)
{
printf("%d*%d=%-3d",y,x,y*x);
x++;
}
printf("\n");
y++;
}
}

第三种
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d\t",i,j,i*j);
printf("\n");
}
}
//do-while留给你们写
欢迎来Q群学习:2535708
2007-08-29 19:06
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
得分:0 
以下是引用nwpu063417在2007-8-28 9:53:18的发言:
我的:
#include<stdio.h>
int main( void )
{
int i, j, k;
for(k = 0; k < 3; k++)
{
for(i = 1; i <= 9; i++)
{
for(j = 3*k+1; j <= 3*k+3; j++)
printf("%d * %d = %d\t",i,j,i*j);
printf("\n");
}
printf("\n");
}
//getch();
return 0;
}

你考虑一下时间效率么?顶多N*N,有解法么?是N就更好了


You have lots more to work on! Never give up!c language!
2007-08-29 19:44
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 

不可依体型论英雄,否则一头母牛也能捕获兔了。——生活在宾州的德国移民的谚语

2007-08-30 01:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-165871-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.336086 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved