📄 c4_6_2.c
字号:
#include"graphics.h"
#include"math.h"
#include"stdio.h"
static int N;
static float a[2048],b[2048],c[2048];
char th1[20],th2[20];
char o;
Phuitu()
{ int graphdriver=DETECT,graphmode;
int i,x,y,j,k1=0,k2=0;
long float am=0,e[2048];
char st[20];
initgraph(&graphdriver,&graphmode,"");
cleardevice();
setbkcolor(1);setcolor(3);
line(50,400,50,10);line(50,400,610,400);
rectangle(5,5,620,440);
for(i=0;i<N;i++)
{ if(a[i]>am) am=a[i];
if(b[i]>am) am=b[i];
if(a[i]!=0) k1=1;
if(b[i]!=0) k2=1; }
for(j=0;j<2;j++)
{ if(j==0)
if(k1==1)
{ for(i=0;i<N;i++)
e[i]=a[i];
goto hui;}
else goto endj;
if(j==1)
if(k2==1)
{ for(i=0;i<N;i++)
e[i]=b[i];
goto hui;}
else goto endj;
hui: moveto(50,(int)(400-(e[0]/am)*380));
setcolor(9+j);
for(i=0;i<N;i++)
{ x=(int)(50+(i*1.0/(N-1))*540.0);
y=(int)(400-(e[i]/am)*380);
setlinestyle(0,0,1);
lineto(x,y); }
endj: ;}
setcolor(5);
for(i=0;i<5;i++)
{x=(int)(50+i*540/4);
putpixel(x,400,5);}
settextstyle(2,0,5);
for(i=0;i<=8;i++)
{sprintf(st,"%d\n",i*N/8);
outtextxy((int)(45+i*540/8.0),405,st);
line((int)(50+i*540/8.0),400,(int)(50+i*540/8.0),395);}
for(i=1;i<=4;i++)
{sprintf(st,"%3.2f\n",am*i/4);
outtextxy(5,400-380*i/4,st);
line(50,400-380*i/4,55,400-380*i/4);}
outtextxy((int)(35+540),385,"f");
if(k1==1) outtextxy(60,20,th1);
if(k2==1) outtextxy(150,20,th2);
o=getchar();closegraph();
return(0);
}
Nhuitu()
{int graphdriver=DETECT,graphmode;
int i,x,y,k,j,j1,k1=0,k2=0/*,k3=0,k4=0*/;
char st[20];
long float am=0,e[2048];
initgraph(&graphdriver,&graphmode,"");
cleardevice();
setbkcolor(1);setcolor(3);
line(50,420,50,20);
line(50,220,620,220);
rectangle(5,5,640,440);
for(i=0;i<N;i++)
{if(fabs(a[i])>am) am=fabs(a[i]);
if(fabs(b[i])>am) am=fabs(b[i]);
if(a[i]!=0) k1=1;
if(b[i]!=0) k2=1;}
for(j=0;j<2;j++)
{ setcolor(j+8);
if(j==0)
if(k1==1)
{ for(j1=0;j1<N;j1++)
e[j1]=a[j1];
goto hui;}
else goto endj;
if(j==1)
if(k2==1)
{ for(i=0;i<N;i++)
e[i]=b[i];
goto hui;}
else goto endj;
hui: moveto(50,(int)(220+(e[0]/am)*200));
setcolor(9+j);
for(i=0;i<N;i++)
{ x=(int)(50+(i*1.0/N)*570.0);
y=(220-(e[i]/am)*200);
lineto(x,y);}
endj: ;}
settextstyle(1,0,1);
setcolor(5);
for(i=0;i<=8;i++)
{sprintf(st,"%d\n",(int)(N*i/8.0));
outtextxy((int)(45+520*i/8.0),225,st);
line((int)(50+520*i/8.0),220,(int)(50+520*i/8.0),215);}
for(i=1;i<=2;i++)
{sprintf(st,"%3.2f\n",am*i/4.0);
outtextxy(5,220-200*i/4,st);
sprintf(st,"%3.2f\n",0-am*i/4);
outtextxy(5,220+180*i/4,st);
line(50,220-200*i/4,55,220-200*i/4);
line(50,220+200*i/4,55,220+200*i/4);}
if(k1==1) outtextxy(80,130,th1);
if(k2==1) outtextxy(240,130,th2);
o=getchar();closegraph();
return(0);
}
void main(void)
{ int i,k=0,m;
float am;
FILE *fp1,*fp2,*fp3,*fp4;
printf("\nPlease input the data sum N,\n N=");
scanf("%d",&N);flushall();
printf("\nPlease input the first data name:");
scanf("%s",th1);flushall();
printf("\nthe second data name:");
scanf("%s",th2);flushall();
fp1=fopen(th1,"r");
fp2=fopen(th2,"r");
for(i=0;i<N;i++)
{ fscanf(fp1," %f\n",&a[i]);
fscanf(fp2," %f\n",&b[i]);
/* fscanf(fp1," %f%f\n",&am,&a[i]);
fscanf(fp2," %f%f\n",&am,&b[i]);*/
/* a[i]=a[i]-6.0;
b[i]=b[i]-6.0;*/
}
fclose(fp1);fclose(fp2);
for(i=0;i<N;i++)
if((a[i]<0)||(b[i]<0)) k=1;
if(k==1) Nhuitu();
else
Phuitu();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -