【C语言篇】? 9. char类型、案例

2018-06-18 04:08:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

char类型

编码方案

  ASCII:  'A'== 65     'a' == 97    '0' == 48

  GB2312:  2Bytes对应一个汉字

    陶喆   朱镕基 (这种编码没有“喆”和“镕”字)

  GBK: 2Bytes对应一个汉字

  GB18030:UTF-8: 可变长, 1Bytes, 2Bytes,3Bytes,4Bytes

特殊字符

  \n  换行  \b  退格 ←  \r  回车  \   转义符  \t  制表符

 

案例

  

  

  

  

  

  

  

  

  

  

  

  

 

/** 打印九宫格 */

 

#include <stdio.h>

#include <assert.h>

int main() {

    printf("请输入一个奇数:");

    int n;

    scanf("%d", &n);

    //断言,判断一个条件是否成立,如果不成立,程序退出

    assert(n%2 != 0);

    int nine[n][n];//保存九宫格的数组

    for(int i=0; i<n; i++){

        for(int j=0; j<n; j++){

            nine[i][j] = 0;

        }

    }

    //每次循环,将i放到该放的位置

    int row = 0;//行,初始为最上面一行

    int col = n/2; //列,初始为最中间一列

    for(int i=1; i<=n*n; i++){

        nine[row][col] = i;

        //计算下一个数要放的行和列

        //45度向上走

        row--;

        col++;

        //如果都越界,放原先的下面

        if(row<0 && col == n){

            row += 2;

            col--;

        }

        //如果行越界,放最下面

        else if(row<0){

            row = n-1;

        }

        //如果列越界,放最左面

        else if(col == n){

            col = 0;

        }

        //如果冲突,放原先的下面

        else if(nine[row][col] != 0){

            row += 2;

            col--;

        }

    }

    //打印

    for(int i=0; i<n; i++){

        for(int j=0; j<n; j++){

            printf("%d ", nine[i][j]);

        }

        printf("\n");

    }

    return 0;

}

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:冒泡排序_C语言_数组

下一篇:数据结构基础——结构体struct及类型别名typedef的使用