您的位置:

c语言二维直方图问题,c语言绘制二维图形

本文目录一览:

c语言二维直方图问题

# include graphics.h

main()

{ int driver=EGA,mode=1;

int b[]={1,3,5,2,4,3,2,1,4,5};

int i,j,xstep=48,ystep=40;

char buffer[10];

initgraph (driver,mode,"");/*初始化图形系统*/

gotoxy(30,3);/*调整光标位置,以便为下面的文字输出方位*/

printf("%s","this is sample");/*在以上光标位置显示标题*/

line(40,80,40,310);/*绘制纵坐标轴*/

line(40,310,540,310);/*绘制横坐标轴*/

j=310;

settextjustify(CENTER_TEXT,CENTER_TEXT);/*设置图形状态下输出文件时的对齐方式为水平居中并且垂直居中*/

for(i=0;i=5;i++)/*这个循环是在绘制纵坐标的刻度线并输出刻度值*/

{line(20,j,40,j);

itoa(i,buffer,10);

outtextxy(10,j,buffer);

j-=ystep;

}

gotoxy(6,4);

printf("%s","value");/*调整光标坐标到(6,4)外,并输出字符串"value"*/

j=40;

settextjustify(CENTER_TEXT,TOP_TEXT);/*重新设置文字对齐方式为水平居中和垂直置顶*/

for(i=0;i=10;i++)

{

setfillstyle(i+1,i+4);/*设置填充模式与颜色*/

line(j,320,j,310);/*绘制横坐标刻度线*/

itoa(i,buffer,10);

outtextxy(j,330,buffer);/*输出横坐标刻度值*/

if(i!=10)

{

bar(j,(310-(b[i]*ystep)),j+xstep,310-1);/*以前面设置的填充模式与颜色绘制实心矩形*/

rectangle(j,(310-b[i]*ystep),j+xstep,310);/*以前面绘制的实心矩形外面绘制矩形边框*/

}

j+=xstep;

}

gotoxy(j/8,22);

printf("%s","month");/*设置光标位置并在此位置输出字符串"month"*/

getch();/*等待按键*/

closegraph();/*关闭绘图模式*/

}

c语言 二维数组怎样显示输出 用直方图表示

#includestdio.h

#includestdlib.h

//1,2,3,4 分别出现{2 1 4 3} 次

int num[4]={2,1,4,3};

//你把这几个数的统计数字输出在这个数组里.

//假设数据保存在这个里面。

//输出总共就四列。

int statistics()//统计函数.

{int i=0;

int row=0;

//循环找出需要多少行.

for (i=0;i4;i++){

if (rownum[i])row=num[i];

}

for(i=row;i0;i--){

char a,b,c,d;

a= (i=num[0]?'*':' ');

b= (i=num[1]?'*':' ');

c= (i=num[2]?'*':' ');

d= (i=num[3]?'*':' ');

printf("%c %c %c %c\n",a,b,c,d);

}

printf("%c %c %c %c\n",'1','2','3','4');

}

int main(){

statistics();

system("pause");

}

C语言绘制直方图(C程序设计语言习题1-13)

你好,大概看了一下,这个好像是统计一段文字中单词的长度并绘制直方图。这里wl就是用来记录单词长度的。wl[i] = j 代表长度为i的单词有j个。

比如最开始,wl数组全是0:

wl = [0, 0, 0, 0, ...]

这个时候我们读入了一个长度为2的单词,于是wl[2]++,数组变成:(注意数组下标从0开始)

wl = [0, 0, 1, 0, ...]

如此往复就记录了所有单词的长度统计。