當前位置:首頁 » 編程語言 » c語言直方圖

c語言直方圖

發布時間: 2024-05-29 22:04:27

c語言繪直方圖

turboc 直方圖

#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>

int main()
{
int GraphDriver;
int GraphMode;
int i, x, y;
char buffer[5];
int data[]={7,3,12,6,9,5,8,11};

GraphDriver = DETECT;
initgraph(&GraphDriver, &GraphMode, "");

setcolor(15);
moveto(635, 461);
lineto(20, 461);
lineto(20, 20);

setcolor(15);
for (i = 1 ; i < 13; i++)
{
itoa(i, buffer, 10);
outtextxy(20 - textwidth(buffer), 456 - i * 36, buffer);
moveto(20, 460 - i * 36);
lineto(23, 460 - i * 36);
}
setfillstyle(SOLID_FILL, 1);
for (i = 0 ; i < 8; i++)
{
moveto(i * 50 + 49, 461);
lineto(i * 50 + 49, 465);
outtextxy(i * 50 + 51, 463, itoa(i + 1, buffer, 10));
bar(i * 50 + 35, 460 - data[i] * 36, i * 50 + 65, 460);
}

getch();

closegraph();
}

② c語言編程設計直方圖

#include<stdio.h>

voidDrawHistogram(intnArray[],intnCount,charch){
inti,j,m=0;
for(i=0;i<nCount;++i){
for(j=0;j<nArray[i];++j)
printf("%c",ch);
printf("%d ",nArray[i]);
}
printf(" ");
}

voidCountRangeItems(doubledArray[],intnDataItems,intnArray[]){
inti;
for(i=0;i<nDataItems;++i){
if(dArray[i]<=160)++nArray[0];
elseif(dArray[i]<165)++nArray[1];
elseif(dArray[i]<170)++nArray[2];
elseif(dArray[i]<175)++nArray[3];
elseif(dArray[i]>175)++nArray[4];
}
}

intmain(){
doubleheight[]={185,176,165,169,160,152,187,196,178,189,196,182,181,176,159,163,168};
intnArray[5]={0};
intnCount=0,size=sizeof(height)/sizeof(height[0]);
CountRangeItems(height,size,nArray);
DrawHistogram(nArray,5,'*');
return0;
}

③ 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, ...]
如此往復就記錄了所有單詞的長度統計。

④ C語言 繪制水平直方圖

#include <stdio.h>

#define MAXHIST 15 /*max length of histogram*/
#define MAXWORD 11 /*max length of a word*/
#define IN 1 /*inside a word*/
#define OUT 0 /*outside a word*/

/*print horizontal histogram*/
void main()
{
int c,i,nc,state;
int len; /*length of each bar*/
int maxvalue; /*maximum value for wl[]*/
int ovflow; /*number of overflow words*/
int wl[MAXWORD]; /*word length counters */

state=OUT;
nc=0; /*number of chars in a word*/
ovflow=0; /*number of words >=MAXWORD*/
for(i=0;i<MAXWORD;++i)
wl[i]=0; //初始化每個單詞的長度為0
while((c=getchar())!=EOF) //從鍵盤獲取字元串,並判斷是否輸入結束,結束應該是ctrl+z
{
if(c==' '||c=='\n'||c=='\t') //判斷是否是一個單詞(單詞間都有間隔的)
{
state=OUT; //初始化狀態為輸出,表明這個單詞已輸入完成
if(nc>0) //判斷這是不是一個單詞
if(nc<MAXWORD)
++wl[nc]; //保存單詞中字元的個數
else
++ovflow; //如果超過范圍,則用ovflow保存字元數
nc=0;
}
else if(state==OUT) //如果上面的if不成立,則說明這個單詞還沒有輸入完成
{
state=IN; //將狀態設為IN,則表名這個單詞沒輸入完成,還要繼續輸入。
nc=1; /*beginning of a new word*/
}
else //判斷後面的字元是否是一個單詞
++nc; /*inside a word*/
}
maxvalue=0;
for(i=1;i<MAXWORD;++i)
if(wl[i]>maxvalue)
maxvalue=wl[i];

for(i=1;i<MAXWORD;++i)
{
printf("%5d - %5d : ",i,wl[i]);
if(wl[i]>0)
{
if((len=wl[i]*MAXHIST/maxvalue)<=0)
len=1;
}
else
len=0;
while(len>0)
{
putchar('*');
--len;
}
putchar('\n');
}
if(ovflow>0)
printf("There are %d words>=%d\n",ovflow,MAXWORD);
}
//++wl[i];這個肯定可以的,wl[i]是一個數組變數,既然是個變數當然可以自增了。

⑤ 用c語言繪制直方圖。。。急急急。。。。。。答案追加。。。。。

#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

void main()
{
int driver=EGA,mode=1;
int data[]={7,3,12,6,9,5,8,11};
int i,j,xstep=70,ystep=20;
char buffer[10];
initgraph (&driver,&mode,"");
line(40,10,40,310);
line(40,310,540,310);
j=310;
settextjustify(CENTER_TEXT,CENTER_TEXT);
for(i=0;i<=15;i++)
{line(20,j,40,j);
itoa(i,buffer,10);
outtextxy(10,j,buffer);
j-=ystep;
}
j=40;
settextjustify(CENTER_TEXT,TOP_TEXT);
for(i=0;i<=8;i++)
{
setfillstyle(i+1,i+4);
line(j,320,j,310);
itoa(i,buffer,10);
outtextxy(j,330,buffer);
if(i!=8)
{
bar(j,(310-(data[i]*ystep)),j+xstep,310-1);
rectangle(j,(310-data[i]*ystep),j+xstep,310);
}
j+=xstep;
}
getch();
closegraph();
}

熱點內容
編程培訓福州 發布:2024-07-27 12:28:06 瀏覽:876
哈弗h6女生適合哪個配置 發布:2024-07-27 12:10:52 瀏覽:954
memcached啟動腳本 發布:2024-07-27 11:55:41 瀏覽:558
電動車怎麼看配置 發布:2024-07-27 11:55:05 瀏覽:238
mfc打開默認文件夾 發布:2024-07-27 11:41:23 瀏覽:648
電腦找不到伺服器的原因 發布:2024-07-27 11:33:58 瀏覽:864
sql2005操作 發布:2024-07-27 11:33:19 瀏覽:437
安卓什麼app軟體可以代替藍牙 發布:2024-07-27 11:24:50 瀏覽:745
vb編譯運行 發布:2024-07-27 11:14:42 瀏覽:754
恆線速的演算法 發布:2024-07-27 10:45:46 瀏覽:759