目录
!!!在for循环中定义变量 是C99标准允许的 如果运行失败 在循环外面定义即可
!!!不要忘了头文件
全输出
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
printf("%-4d", i * j); //%-4d 表示输出时占四位 左对齐
}
printf("\n"); //一行输出完成后进行换行
}
return 0;
}
左上三角
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = i; j < 10; j++) //每行输出的个数要递减
//因为i是不断增加的 j到10的距离在减小 所以是递减的
{
printf("%-4d", i * j);
}
printf("\n");
}
return 0;
}
左下三角
int main()
{
for (int i = 1; i < 10; i++) //左下三角
{
for (int j = 1; j <= i;j++ ) //每行输出的个数要递增
//因为i是递增的 j和i的距离变大 所以每行输出个数变多
{
printf("%-3d ", i * j);
}
printf("\n");
}
return 0;
}
右上三角
int main()
{
for (int i = 1; i <=9; i++) //右上三角
{
for (int j = 1; j < i; j++) //右上三角需要在输出乘法结果前 确定前面补位的空格的数量
{ //此三角由上至下 空格数依次增多 i是递增的 所以拿i和j比较
printf(" "); //空格数是4个 和%-4d对应
}
for (int k = i; k <= 9; k++)
{
printf("%-4d", k * i);
}
printf("\n");
}
return 0;
}
右下三角
int main()
{
for (int i = 1; i < 10; i++) //右下三角
{
for (int j =9; j > i; j--) //此三角的空格数量是递减的 i是递增的 所以拿j和i比较
{ // 可以的出当前行需要的空格数
printf(" ");
}
for (int k = 1; k <=i; k++) //结果的数量是递增的 i是递增的 所以拿i和k比较
{
printf("%-4d", i * k); //可以得出当前行需要的结果数
}
printf("\n");
}
return 0;
}