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

📄 3.cpp

📁 2006年全国大学生数学建模参赛程序 第三题(3)
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
void load1(float a[])
{
    FILE *fp;
	int i;
	if((fp=fopen("1.txt","rb"))==NULL)
	{
	    printf("cannot open");
        return;
	}
	for(i=1;i<1255;i++)
		fscanf(fp,"%f",&a[i]);
	fclose(fp);
}
void load2(float a[])
{
    FILE *fp;
	int i;
	if((fp=fopen("2.txt","rb"))==NULL)
	{
	    printf("cannot open");
        return;
	}
	for(i=1;i<1255;i++)
		fscanf(fp,"%f",&a[i]);
	fclose(fp);
}
void load3(float a[])
{
    FILE *fp;
	int i;
	if((fp=fopen("3.txt","rb"))==NULL)
	{
	    printf("cannot open");
        return;
	}
	for(i=1;i<1255;i++)
		fscanf(fp,"%f",&a[i]);
	fclose(fp);
}
void load4(float a[])
{
    FILE *fp;
	int i;
	if((fp=fopen("4.txt","rb"))==NULL)
	{
	    printf("cannot open");
        return;
	}
	for(i=1;i<1255;i++)
		fscanf(fp,"%f",&a[i]);
	fclose(fp);
}
void load5(float a[])
{
    FILE *fp;
	int i;
	if((fp=fopen("5.txt","rb"))==NULL)
	{
	    printf("cannot open");
        return;
	}
	for(i=1;i<1255;i++)
		fscanf(fp,"%f",&a[i]);
	fclose(fp);
}
main()
{
    float a[1255],b[1255],c[1255],d[1255],e[1255],c1[330][7]={0},d1[330][7]={0},e1[330][7]={0},y[4][6]={0},num[4][6]={0};
	int i,j,k,l,m,n,num1[330]={0},num2[330]={0},num3[330]={0},num4[330]={0};
	load1(a);
	load2(b);
	load3(c);
	load4(d);
	load5(e);
/*	for(i=1;i<1255;i++)
		printf("%3.2f ",a[i]);*/
	j=0;
    k=0;
    for(i=1;i<1255;i++)
	    if(a[i]==a[i+1])
		{
		    c1[j][k]=c[i];
	        d1[j][k]=d[i];
		    e1[j][k++]=e[i];
		}
	    else
		{
	        c1[j][k]=c[i];
		    d1[j][k]=d[i];
		    e1[j][k]=e[i];
		    j++;
		    k=0;
		}
  /*  for(i=0;i<330;i++)
	{
		for(j=0;j<7;j++)
			printf("%3.2f ",c1[i][j]);
		printf("\n");
	}*/
    l=0;
    k=0;
    m=0;
    n=0;
    for(i=0;i<330;i++)
    {
	    if(c1[i][0]<30)
            num1[l++]=i;
	    else if(c1[i][0]>=30 && c1[i][0]<40)
		    num2[k++]=i;
	    else if(c1[i][0]>=40 && c1[i][0]<50)
		    num3[m++]=i;
	    else if(c1[i][0]>=50)
		    num4[n++]=i;
    }
    for(i=0;i<l;i++)
		for(j=0;j<7;j++)
		{
			if(d1[num1[i]][j]==0 && j==0)
            {
				y[0][0]+=e1[num1[i]][j];
			    num[0][0]++;
			}
		    else if(d1[num1[i]][j]<=4)
			{
				y[0][0]+=e1[num1[i]][j];
				num[0][0]++;
			}
			else if(d1[num1[i]][j]>4 && d1[num1[i]][j]<=12)
			{
			    y[0][1]+=e1[num1[i]][j];
				num[0][1]++;
			}
			else if(d1[num1[i]][j]>12 && d1[num1[i]][j]<=20)
			{
			    y[0][2]+=e1[num1[i]][j];
				num[0][2]++;
			}
			else if(d1[num1[i]][j]>20 && d1[num1[i]][j]<=28)
			{
			    y[0][3]+=e1[num1[i]][j];
				num[0][3]++;
			}
            else if(d1[num1[i]][j]>28 && d1[num1[i]][j]<=36)
			{
			    y[0][4]+=e1[num1[i]][j];
				num[0][4]++;
			} 
			else if(d1[num1[i]][j]>36 && d1[num1[i]][j]<=44)
			{
			    y[0][5]+=e1[num1[i]][j];
				num[0][5]++;
			}
		}
	for(i=0;i<k;i++)
		for(j=0;j<7;j++)
		{
			if(d1[num2[i]][j]==0 && j==0)
            {
				y[1][0]+=e1[num2[i]][j];
			    num[1][0]++;
			}
		    else if(d1[num2[i]][j]<=4)
			{
				y[1][0]+=e1[num2[i]][j];
				num[1][0]++;
			}
			else if(d1[num2[i]][j]>4 && d1[num2[i]][j]<=12)
			{
			    y[1][1]+=e1[num2[i]][j];
				num[1][1]++;
			}
			else if(d1[num2[i]][j]>12 && d1[num2[i]][j]<=20)
			{
			    y[1][2]+=e1[num2[i]][j];
				num[1][2]++;
			}
			else if(d1[num2[i]][j]>20 && d1[num2[i]][j]<=28)
			{
			    y[1][3]+=e1[num2[i]][j];
				num[1][3]++;
			}
            else if(d1[num2[i]][j]>28 && d1[num2[i]][j]<=36)
			{
			    y[1][4]+=e1[num2[i]][j];
				num[1][4]++;
			} 
			else if(d1[num2[i]][j]>36 && d1[num2[i]][j]<=44)
			{
			    y[1][5]+=e1[num2[i]][j];
				num[1][5]++;
			}
		}
	for(i=0;i<m;i++)
		for(j=0;j<7;j++)
		{
			if(d1[num3[i]][j]==0 && j==0)
            {
				y[2][0]+=e1[num3[i]][j];
			    num[2][0]++;
			}
		    else if(d1[num3[i]][j]<=4)
			{
				y[2][0]+=e1[num3[i]][j];
				num[2][0]++;
			}
			else if(d1[num3[i]][j]>4 && d1[num3[i]][j]<=12)
			{
			    y[2][1]+=e1[num3[i]][j];
				num[2][1]++;
			}
			else if(d1[num3[i]][j]>12 && d1[num3[i]][j]<=20)
			{
			    y[2][2]+=e1[num3[i]][j];
				num[2][2]++;
			}
			else if(d1[num3[i]][j]>20 && d1[num3[i]][j]<=28)
			{
			    y[2][3]+=e1[num3[i]][j];
				num[2][3]++;
			}
            else if(d1[num3[i]][j]>28 && d1[num3[i]][j]<=36)
			{
			    y[2][4]+=e1[num3[i]][j];
				num[2][4]++;
			} 
			else if(d1[num3[i]][j]>36 && d1[num3[i]][j]<=44)
			{
			    y[2][5]+=e1[num3[i]][j];
				num[2][5]++;
			}
		}
	for(i=0;i<n;i++)
		for(j=0;j<7;j++)
		{
			if(d1[num4[i]][j]==0 && j==0)
            {
				y[3][0]+=e1[num4[i]][j];
			    num[3][0]++;
			}
		    else if(d1[num4[i]][j]<=4)
			{
				y[3][0]+=e1[num4[i]][j];
				num[3][0]++;
			}
			else if(d1[num4[i]][j]>4 && d1[num4[i]][j]<=12)
			{
			    y[3][1]+=e1[num4[i]][j];
				num[3][1]++;
			}
			else if(d1[num4[i]][j]>12 && d1[num4[i]][j]<=20)
			{
			    y[3][2]+=e1[num4[i]][j];
				num[3][2]++;
			}
			else if(d1[num4[i]][j]>20 && d1[num4[i]][j]<=28)
			{
			    y[3][3]+=e1[num4[i]][j];
				num[3][3]++;
			}
            else if(d1[num4[i]][j]>28 && d1[num4[i]][j]<=36)
			{
			    y[3][4]+=e1[num4[i]][j];
				num[3][4]++;
			} 
			else if(d1[num4[i]][j]>36 && d1[num4[i]][j]<=44)
			{
			    y[3][5]+=e1[num4[i]][j];
				num[3][5]++;
			}
		}
    for(i=0;i<4;i++)
	{
		for(j=0;j<6;j++)
			printf("%3.5f ",y[i][j]/num[i][j]);
	    printf("\n");
	}
}

⌨️ 快捷键说明

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