题目

  1. 打印九九乘法表
  2. 打印如下图形:
    (1)
    图片说明
    (2)
    图片说明

思路:
上面题目的思路是使用双层for循环,外层循环控制打印多少行,内层循环控制每一列打印什么内容

代码:

#include <stdio.h>
#include <stdlib.h>

//打印九九乘法表
void print_mutiply()
{
    int i,j;
    //外层控制的是打印的排数
    for(i=1;i<10;i++)
    {
        //某一行的每一列打印什么
        for(j=1;j<=i;j++)
        {
            printf("%d*%d=%2d ",j,i,j*i);
        }
        putchar('\n');
    }
}

//打印菱形
void print_diamond()
{
    int i,j;
    for(i=0;i<9;i++)
    {
        //打印空格
        for(j=0;j<(4-i>0?4-i:i-4);j++)
        {
            putchar(' ');
        }
        //打印星号
        for(j=0;j<9-2*abs(4-i);j++)
        {
            if(j%2==1)
            {
                putchar(' ');
            }else{
                putchar('*');
            }
        }
        putchar('\n');
    }
}
//打印空心菱形
void print_diamond1()
{
    int i,j;
    for(i=0;i<9;i++)
    {
        //打印空格
        for(j=0;j<(4-i>0?4-i:i-4);j++)
        {
            putchar(' ');
        }
        //打印星号
        for(j=0;j<9-2*abs(4-i);j++)
        {
            if(j==0 || j==8-2*abs(4-i))
            {
                putchar('*');
            }else{
                putchar(' ');
            }
        }
        putchar('\n');
    }
}

int main()
{
    //print_mutiply();
    //print_diamond();
    print_diamond1();
    system("pause");
}

结果
图片说明
图片说明