#include "stdafx.h"
#include<string.h>
int _tmain(int argc, _TCHAR* argv[])
{
char s[21]={"ACDEFGHIKLMNPQRSTVWY"},s1[400][2],str[5000];
int i=0,j=0,k=0,h=0;
for(j=0,i=0;j<400;j++) //构造 AA AC AD………………
{
s1[j][0]=s[i];
if((j+1)%20==0)
i++;
}
for(j=0,i=0;j<400;j++,i++)
{
s1[j][1]=s[i];
if((i+1)%20==0)
i=0;
} //
FILE *readfile=fopen("E:\\风中追风\\蛋白质数据.txt","r");
FILE *writefile=fopen("E:\\风中追风\\shujujieshou.txt","w+");
fprintf(writefile,"A,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y,"); //写入文件的第一行
for(i=0;i<400;i++)
for(j=0;j<2;j++)
{
fprintf(writefile,"%c",s1[i][j]);
if((j+1)%2==0)
fprintf(writefile,",");
}
fprintf(writefile,"\n"); //
while(!feof(readfile)) //计算 A B C D ………… 频次
{
double fre[20],fre1[400],b;
for(i=0;i<420;i++)
fre[i]=0;
fgets(str,5000,readfile);
fgets(str,5000,readfile);
b=strlen(str);
for(i=0;i<b;i++)
{
if(str[i]=='A')
fre[0]++;
if(str[i]=='C')
fre[1]++;
if(str[i]=='D')
fre[2]++;
if(str[i]=='E')
fre[3]++;
if(str[i]=='F')
fre[4]++;
if(str[i]=='G')
fre[5]++;
if(str[i]=='H')
fre[6]++;
if(str[i]=='I')
fre[7]++;
if(str[i]=='K')
fre[8]++;
if(str[i]=='L')
fre[9]++;
if(str[i]=='M')
fre[10]++;
if(str[i]=='N')
fre[11]++;
if(str[i]=='P')
fre[12]++;
if(str[i]=='Q')
fre[13]++;
if(str[i]=='R')
fre[14]++;
if(str[i]=='S')
fre[15]++;
if(str[i]=='T')
fre[16]++;
if(str[i]=='V')
fre[17]++;
if(str[i]=='W')
fre[18]++;
if(str[i]=='Y')
fre[19]++;
} //
for(k=0;k<b;k++) // 计算 AA AC AD…………频次
{
for(i=0;i<400;i++)
if(str[k]==s1[i][0]&&str[k+1]==s1[i][1])
{
fre1[i]++;
}
} //
for(j=0;j<20;j++) //数据的写入
{
fre[j]=fre[j]/b;
fprintf(writefile,"%.3lf",fre[j]);
fprintf(writefile,",");
}
for(j=0;j<400;j++)
{
fre1[j]=fre1[j]/b;
fprintf(writefile,"%.3lf",fre1[j]);
fprintf(writefile,",");
}
printf("\n"); //
}
return 0;
}