C语言 百炼成钢3

//题目7:用*号输出空心菱形图案




#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>


//分析:菱形图案就是上下2个三角形
//abs()  绝对值函数(math.h>) 函数原型: int abs(int i);
//扩展:fabs()绝对值函数  函数原型是double fabs(double x );

void main(){
    //y轴
    //int i =10; i > -11  自上y=10到y=-10
    for (int i =10; i > -11; i--)
    {
        //x轴
        //abs(i)是距y轴空白的大小(因为偶然等于i)
        for (int j = 0; j <abs(i); j++)
        {
            printf(" ");
        }
        //菱形内部的宽度2 * 10 - abs(i)
        for (int k = 0; k < (2 * 10 - abs(i)) + 1; k++)
        {
            //空心菱形两边打印*,
            if (k == 0 || k == (2 * (10 - abs(i))))
            {
                printf("*");
            }
            else{
                printf(" ");
            }
            
        }
        printf("
");
    }
    system("pause");
}

//总结:绘制图形大部分需要使用多重循环

分析

//题目8:输出9*9口诀

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//分析:9*9乘法表,肯定是双for循环,同样分为行和列

void main(){
    for (int i = 1; i < 10; i++)
    {
        for (int j = 1; j < i+1; j++)
        {
            printf("%3d*%d=%d",i,j,i*j);
        }
        //一行换行
        printf("
");
    }
    system("pause");
}

//题目9:要求输出国际象棋棋盘。


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//分析:国际象棋棋盘由64个黑白相间的格子组成,简单说就是交替输出1,0
//每行8个数,一共8行,双for循环
//判断偶数奇数,我决定num%2,余数只能是1或者0

void main(){
    for (int i = 0; i < 8; i++)
    {
        for (int j = 0; j < 8; j++)
        {
            //判断奇数行还是偶数行
            if (i%2)
            {
                //判断列的奇偶性
                if (j%2)
                {
                    printf(" * ");
                }
                else{
                    printf(" # ");
                }
            }
            else{
                //行的奇偶性首列格子的图案
                if (j % 2)
                {
                    printf(" # ");
                }
                else{
                    printf(" * ");
                }
            }
        }
        printf("
");
    }
    system("pause");
}

原文地址:https://www.cnblogs.com/zhanggaofeng/p/5147835.html