C 语言教程 在线

1680c-exercise-example10

参考方法:

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

int main(void)
{
    SetConsoleOutputCP(437);
    char a=219;
    printf("\1\1\n");
    for(int i=0;i<=9;i++)
    {
        for(int j=0;j<=i;j++)
        printf("%c",a);
        printf("\n");
    }
    return 0;
}

1679c-exercise-example9

参考方法:

#include<stdio.h> 

int main(void) 
{
    for(int i=1;i<9;i++)
    {
        if(i%2==0)
        {
            printf("■□■□■□■□\n"); 
        }else{
            printf("□■□■□■□■\n");
        }
    }
}

1678c-exercise-example9

参考方法:

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

int main(void)
{

    SetConsoleOutputCP(437);
    int a=219;
    for(int i=0;i<8;i++)
    {
        for(int j=0;j<4;j++)
        {
            if(i%2==0)
                printf("%c  ",a);
            else
                printf("  %c",a);
        }
        printf("\n");
    }
}

1677c-exercise-example9

想法:不玩行数和列数的数字游戏,在我的眼中从每行来看只有两种状态不断在切换:

第一行:先白后黑,后白,。。。交替,这个容易实现

第二行:先黑后白,后黑,。。。交替,这个也容易实现

第三行:其实就是第一行的状态重复

列状态的切换简单,行状态专门用一个数组来存储,只有两种状态(0,1)

参考代码:

#include<stdio.h>

void f7(){

    int i=0,j=0;
    //行输出只有两种状态,不断交替
    int position[8]={1,0,1,0,1,0,1,0};

    for(i=0;i<8;i++){
        if(position[i]==1){
            for(j=0;j<4;j++){
                printf("%c%c",0xa8,0x80);//输出黑色方格,在黑色DOS窗口下是一个白色的方格
                printf("  "); //输出2个空格,在黑色DOS窗口下像一个黑色方格
            }
        }else{
            for(j=0;j<4;j++){
                printf("  ");
                printf("%c%c",0xa8,0x80);
            }
        }
        printf("\n");
    }
}

int main(){
  f7();  
  return 0;
}

1676c-exercise-example9

在 VS2017 环境下生成棋盘:

#include<stdio.h>
#include<stdlib.h>
int  main()
{
    int  i,j;
    for(i=0;i<8;i++)
    {
        for(j=0;j<8;j++)
        {
            if((i+j)%2==0)
            {
                printf("%c%c",0xa8,0x80);
            }
            else
            {
                printf("  ");
            }  
        }
        printf("\n");
    }
    system("pause");
    return  0;
 
}