c语言写直方图统计函数 c++绘制直方图

用c语言绘制直方图。。。急急急。。。。。。答案追加。。。。。

#include graphics.h

创新互联公司公司2013年成立,先为沧县等服务建站,沧县等地企业,进行企业商务咨询服务。为沧县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

#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();

}

C语言 成绩统计直方图

写了前面的两个功能:

#includestdio.h

#includestring.h

#define N 30

int main(){

char xm[N][20], nm[20];

int cj[N];

int cnt,i,n=0,x;

float aver=0;

//输入成绩并求平均分

printf("请依次输入每个同学的姓名和成绩(绩为负值时表示数据结束):\n");

scanf("%s %d",nm, x);

while(x=0){

strcpy(xm[n],nm);

cj[n]=x;

aver+=x;

n++;

scanf("%s %d",nm, x);

}

aver/=n;

//统计不及格人数并打印不及格学生名单

printf("不及格学生名单及人数如下:\n");

cnt=0;

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

if(cj[i]60){

cnt++;

printf("%s\t%d\n",xm[i], cj[i]);

}

}

printf("共有 %d 个学生不及格。\n",cnt);

//统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单

printf("成绩在全班平均分及平均分(%.2f)之上的学生名单及人数如下:\n",aver);

cnt=0;

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

if(cj[i]aver){

cnt++;

printf("%s\t%d\n",xm[i], cj[i]);

}

}

printf("共有 %d 个学生成绩在全班平均分及平均分之上。\n",cnt);

return 0;

}

c语言编程设计直方图

#include stdio.h

void DrawHistogram(int nArray[], int nCount, char ch) {

int i,j,m = 0;

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

for(j = 0; j  nArray[i]; ++j)

printf("%c",ch);

printf("%d\n",nArray[i]);

}

printf("\n");

}

void CountRangeItems(double dArray[], int nDataItems, int nArray[]) {

int i;

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

if(dArray[i] = 160) ++nArray[0];

else if(dArray[i]  165) ++nArray[1];

else if(dArray[i]  170) ++nArray[2];

else if(dArray[i]  175) ++nArray[3];

else if(dArray[i]  175) ++nArray[4];

}

}

int main() {

double height[] = {185,176,165,169,160,152,187,196,178,189,196,182,181,176,159,163,168};

int nArray[5] = {0};

int nCount = 0,size = sizeof(height)/sizeof(height[0]);

CountRangeItems(height,size,nArray);

DrawHistogram(nArray,5,'*');

return 0;

}

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语言绘直方图

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语言写直方图统计函数 c++绘制直方图
浏览路径:http://myzitong.com/article/docepso.html