ASCII字符显示例子

来源:互联网 发布:看黄子片哪个软件安全 编辑:程序博客网 时间:2024/06/05 09:46

代码块

#include<stdio.h>#include<stdlib.h>//算法是最费心思,也是最有趣的事情了,char字符也很有趣,使用字符画矩形。//简单的程序很多问题,不过乐乐而已int main(void){    FILE *fp;//保存的文件    int i, total;//字符总数    int row, col;//行列数    char ch; //初始字符    char count[80][80];//字符矩阵    puts("Enter the total of rings: ");    scanf("%d", &total);    ch = 32;    for (row = 1; row <= 2 * total; row++)    for (col = 1; col <= 2 * total; col++)        count[row][col] = 0;    //置空数组    //row:1…n    //  col:1…n    //    v[r,c]=0    /*利用循环语句分别输出上下左右四条边,注意每个圈往里缩一个位置*/    for (i = 1; i <= total; i++)    {        row = i;        for (col = i + 1; col <= 2 * total - i; col++)//绘制倒三角,上边框        {            count[row][col] = ch;        }        row = 2 * total - i + 1;        for (col = i + 1; col <= 2 * total - i; col++)//绘制正三角,下边框        {            count[row][col] = ch;        }        col = i;        for (row = i; row <= 2 * total - i + 1; row++)//绘制左三角,左边框        {            count[row][col] = ch;        }        col = 2 * total - i + 1;        for (row = i; row <= 2 * total - i + 1; row++)//绘制右三角,右边框        {            count[row][col] = ch;        }        ch++;    }    /*利用判断语句输出上下左右四条边,注意每个圈往里缩一个位置*/    for (i = 1; i <= total; i++)    {        for (row = i; row <= 2 * total - i; row++)        for (col = i; col <= 2 * total - i; col++)        if (row == i || row == 2 * total - i || col == i || col == 2 * total - i)            count[row][col] = ch;        ch++;    }    if ((fp = fopen("sdas.txt", "w")) == NULL)    {        fprintf(stderr, "\nError opening file \n");        exit(1);    }    /*输出数组(即图案)*/    for (row = 1; row <= 2 * total; row++)    {        for (col = 1; col <= 2 * total; col++)        {            fprintf(fp, "%c ", count[row][col]);//输出到文件,            fprintf(stdout, "%c ", count[row][col]);//输出到屏幕        }        fprintf(fp, "\n");        fprintf(stdout, "\n");    }    system("pause");    return 0;}
原创粉丝点击