本文目录一览:
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, ...]
如此往复就记录了所有单词的长度统计。