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