✅ 操作成功!

c语言输出图形

发布时间:2023-06-06 作者:admin 来源:文学

c语言输出图形

c语言输出图形

封条格式范本-奥莉薇绘本

2023年2月20日发(作者:阿孜)

c语⾔程序输出数字图形,C语⾔数组应⽤之图形数字的输出

C语⾔数组应⽤之图形数字的输出

今天做《C语⾔程序设计——现代⽅法》的习题,发现数组这块有⼀道有意思的图形数字的题⽬。特此记载。

程序效果如下:

⾸先,程序使⽤⼀个MAX_DIGITS的宏来控制最多输出的数字。若数字输出个数多于该宏,将被忽略。除数字外的其他字符将被忽略。

使⽤segments函数存储图形数字的相应信息。数字被分为7个部分,编号如下:

所以segments数组为⼆维数组,10⾏7列,分别保存0~9这10个数字的对应位置的图形。其中,横线使⽤1表⽰,竖线使⽤2表⽰,空⽩

使⽤0表⽰。

digits数组则是⼀个3⾏MAX_DIGITS*4列的数组(乘以4是因为要在两个数字之间插⼊空格,所以是4⽽不是3)。⽤以存储⽤户输⼊的字母

信息。

clear_digits_array(void)函数⽤以初始化digits数组。process_digit(intdigit,intposition)函数⽤以将数字digit存⼊相应的位置。

print_didgits_array(void)函数⽤以打印digits数组。

源程序如下:

/**************************************************

*DigitsNumber.c*

*Inputnumbersandprintthemindigittype.*

*byEricBrown*

**************************************************/

#include

#include

#defineMAX_DIGITS10

voidclear_digits_array(void);

voidprocess_digit(intdigit,intposition);

voidprint_digits_array(void);

intsegments[10][7]={{2,1,1,0,1,1,2},{0,0,1,0,0,1,0},{2,0,1,2,1,0,2},

{2,0,1,2,0,1,2},{0,1,1,2,0,1,0},{2,1,0,2,0,1,2},

{2,1,0,2,1,1,2},{2,0,1,0,0,1,0},{2,1,1,2,1,1,2},

{2,1,1,2,0,1,2}};

intdigits[3][MAX_DIGITS*4];

intmain()

{

inti;

charnum;

printf("Enteranumber:");

clear_digits_array();

for(i=0;i

{

num=getchar();

switch(num)

{

case'0':process_digit(0,i);i++;break;

case'1':process_digit(1,i);i++;break;

case'2':process_digit(2,i);i++;break;

case'3':process_digit(3,i);i++;break;

case'4':process_digit(4,i);i++;break;

case'5':process_digit(5,i);i++;break;

case'6':process_digit(6,i);i++;break;

case'7':process_digit(7,i);i++;break;

case'8':process_digit(8,i);i++;break;

case'9':process_digit(9,i);i++;break;

case'n':i=MAX_DIGITS;break;

}

}

print_digits_array();

system("pause");

return0;

}

/**************************************************

*clear_digits_array:initializethedigits*

*array.*

**************************************************/

voidclear_digits_array(void)

{

inti,j;

for(i=0;i<3;i++)

for(j=0;j

{

digits[i][j]=0;

}

}

/**************************************************

*process_digit:processthenumber'ssegmentin*

*digitarrayinproperposition.*

**************************************************/

voidprocess_digit(intdigit,intposition)

{

inti=position*4;

digits[0][i+1]=segments[digit][0];

digits[1][i]=segments[digit][1];

digits[1][i+2]=segments[digit][2];

digits[1][i+1]=segments[digit][3];

digits[2][i]=segments[digit][4];

digits[2][i+2]=segments[digit][5];

digits[2][i+1]=segments[digit][6];

}

/**************************************************

*print_digits_array:toprintthenumbersin*

*digitway.*

**************************************************/

voidprint_digits_array(void)

{

inti,j;

for(i=0;i<3;i++)

{

for(j=0;j

{

if(digits[i][j]==0)

printf("");

elseif(digits[i][j]==1)

printf("|");

elseif(digits[i][j]==2)

printf("_");

}

printf("n");

}

}

👁️ 阅读量:0