void e_xp(int m,int e)
{
FILE *fg,*fs,*fb,*fq,*fr,*fsum,*fp;
int g,s,b,q,p;
int z,z1,z2,f;
int i,j,ch;
fg=fopen("g","w+");
fs=fopen("s","w+");
fb=fopen("b","w+");
fq=fopen("q","w+");
fr=fopen("r","w+");
g=m%10;
s=((m%100)-(m%10))/10;
b=((m%1000)-(m%100))/100;
q=(m-m%1000)/1000;
fputc(g,fr);
fputc(s,fr);
fputc(b,fr);
fputc(q,fr);
for(i=0;i<e-1;i++)
{
for(j=0;j<4;j++)
{
if(j==0)
{
p=g;
fp=fg;
}
if(j==1)
{
p=s;
fp=fs;
}
if(j==2)
{
p=b;
fp=fb;
}
if(j==3)
{
p=q;
fp=fq;
}
rewind(fp);
rewind(fr);
z=0;z1=0;z2=0;f=0;
if(fp==fs)
fputc(0,fp);
if(fp==fb)
{
fputc(0,fp);
fputc(0,fp);
}
if(fp==fq)
{
fputc(0,fp);
fputc(0,fp);
fputc(0,fp);
}
while((z=fgetc(fr))!=EOF)
{
z=z*p;
z1=z%10;
z2=(z-z%10)/10;
z1+=f;
if(z1>=10)
{
z2++;
z1=z1%10;
}
fputc(z1,fp);
f=z2;
}
fputc(z2,fp);
if(fp==fg)
{
fputc(0,fp);
fputc(0,fp);
fputc(0,fp);
}
if(fp==fs)
{
fputc(0,fp);
fputc(0,fp);
}
if(fp==fb)
{
fputc(0,fp);
}
}
z=0;z1=0;z2=0;f=0;
rewind(fg);
rewind(fs);
rewind(fb);
rewind(fq);
rewind(fr);
while((z=fgetc(fg))!=EOF)
{
z=z+fgetc(fs)+fgetc(fb)+fgetc(fq);
z1=z%10;
z2=(z-z%10)/10;
z1+=f;
if(z1>=10)
{
z2+=(z1-z1%10)/10;
z1=z1%10;
}
fputc(z1,fr);
f=z2;
}
fputc(z2,fr);
}
fsum=fopen("sum","w+");
fseek(fr,-1L,1);
while(fgetc(fr)==0)
{
fseek(fr,-2L,1);
}
fseek(fr,-1L,1);
while((ch=fgetc(fr))!=EOF)
{
fputc(ch,fsum);
fseek(fr,-2L,1);
}
fclose(fg);
fclose(fs);
fclose(fb);
fclose(fq);
fclose(fr);
fclose(fsum);
system("del g");
system("del s");
system("del b");
system("del q");
system("del r"); //结果保存在文件SUM中,并删除过程中建立的文件
}