c语言输出矩阵和乘法表
c语言输出矩阵和乘法表
1.输出矩阵
先来一个简单的输出,熟悉一下格式,嘻嘻
1 2 3 4 5
6 7 8 9 10
观察一下由1到10是一个for语句,有换行(
),也有Tab键
#include <stdio.h>
void main ()
{
int i,n=0;
for (i=1;i<=10;i++,n++) //用n来记循环次数
{
if(n%5==0) //注意不是 i 而是 n ,当循环5次的时候才换行
printf ("
");
printf ("%d ",i); //这里有 代表输出一个i后又输出一个Tab
}
}
接下来我们来输出一个3*5的矩阵(我们开头和数型代码就不写了)
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
有行有列就要考虑两个for语句,而相乘只需在输出的时候为i*j
for (i=1;i<=3;i++)
{
for (j=1;j<=5;j++,n++)
{
if (n%5==0)
printf ("
");
printf ("%d ",i*j);
}
}
假如说你不想要一个数怎么办,假如你不想要第三行第二个数时,也就是那i=3,j=2时,这时就需要再加一个if语句了;记得要加一个continue语句
在上面的基础上插一句
if (n%5==0)
printf ("
");
if (i==3&&j==2) continue; //这是插的语句,用continue是跳出此次内循环(只是不执行
printf ("%d ",i*j); i*j),不能用break,它会跳出整个i=3的for语句外循环;
2.乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
#include <stdio.h>
void main ()
int i,j;
{
for (i=1;i<=9;i++)
{for (j=1;j<=i;j++) //注意是j<=i
printf ("%d*%d=%d ",i,j,i*j);
printf ("
");}
}
如果你不想这种,想要对称的,那代码需要反过来了
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9
8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8
7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7
.................
开始敲了
#include <stdio.h>
void main ()
{
int i,j,n;
for (i=9;i>=1;i--)
{ for (n=1;n<=9-i;n++) //控制每行的空格数
printf (" "); //8个空格
for (j=i;j>=1;j--) //2个for语句并列,先空格后乘法列表
printf("%d*%d=%d ",i,j,i*j);
printf ("
");
}
}
以上都是有关系的,注意观察之间的联系
