⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例4-23.c

📁 王为青 刘变红 编著《C语言高级编程及实例剖析》源代码
💻 C
字号:
/* Note:Your choice is C IDE */
#include <stdio.h>
#include <graphics.h> 
main()
{                    
	char s[10];
	char *categories[]={"1","2","3","4","5","6","7","8","9","10","11","12",
						  "13","14","15","16","17","18","19","20"};
	float a[]={3.9,5.3,7.2,9.6,12.9,17.0,23.2,31.4,39.8,50.2,62.9,76.0,92.0,
			   105.7,122.8,131.7,150.7,179.3,203.2,211.0};
	int i,j,x,n,dx,ddx,y,dy,graphdriver,graphmode;
	graphdriver=VGA;
	graphmode=VGAHI;
	initgraph(&graphdriver,&graphmode,"");
	cleardevice();
	setviewport(20,20,570,450,1);    
	setcolor(1);
	setbkcolor(7); 
	n=20;
	dx=n;
	ddx=0.8*dx;                       /* 有20个要用条表示的值 */
	y=390;
	for(i=0;i<=n-1;i++)               /* 画20个条形图 */
	{
		x=dx*i+100;
		dy=a[i]*1.5;
		setfillstyle(1,i);
		rectangle(x,y,x+ddx,y-dy);      /* 画条形 */
		floodfill(x+1,y-dy+1,1);
	}
	setcolor(WHITE);
	rectangle(80,390,x+ddx+20,15);        /* 画包围图形的矩形框 */
	j=0;
	for(i=108;i<=x+ddx;i=i+20)
	{
		line(i,390,i,400);                  /* x坐标 */
		outtextxy(i-4,405,categories[j]);  /* 标x坐标值 */
		j++;
	}   
	sprintf(s,"%d",j);
	for(j=0;j<=300;j=j+50)
	{
		line(70,390-1.5*j,80,390-1.5*j);    /* y坐标 */
		sprintf(s,"%d",j);
		outtextxy(45,390-1.5*j-3,s);        /* 标y坐标值 */
		}   
	outtextxy(150,420,"Every year 1990-2000");/* 标x坐标含义 */ 
	settextstyle(0,1,1); 
	outtextxy(30,40,"Production");    /* 标y坐标含义 */
	getch();
    closegraph();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -