📄 s.cpp
字号:
#include<iostream>
#include<fstream>
using namespace std;
enum {size=27,len=2};
double A(char ch );
double C(char ch);
struct node
{ char a;
int b;
};
node n[32];
int main()
{
ifstream fin("a.txt");
ofstream fout("b.txt");
char h='a';
int p;
for(p=0;p<size;p++)
{n[p].b=0;
n[p].a=h;
h+=1;
}
n[p].a=' ';
n[p++].b=0;
n[p].a='\n';
n[p++].b=0;
n[p].a=',';
n[p++].b=0;
n[p].a='.';
n[p++].b=0;
char ch;
int i;
double e=0.0,f=1.0;
fin.clear();
int count=0;
while(1)
{ for(i=0;i<len;i++)
{ if(!fin.get(ch)) break;
e=e+f*C(ch);
f=f*A(ch);
}
fout.precision(16);
//fout.width(20);
fout<<e;//<<'E';
count++;
//if(count%6==0)fout<<endl;
if(i<len){fout<<' '<<i;break;}
e=0.0;
f=1.0;}
fin.close();
fout.close();
for(int c=0;c<size+3;c++){cout<<n[c].b<<n[c].a<<endl;}
return 1;
}
double C(char ch)
{ int t,flag=1;
for(t=0;t<=size+3;t++)
if(n[t].a==ch) break;
double d=0.0,f=1.0;
for(int i=0;i<t;i++)
{ for(int q=0;q<=i;q++)
f=f*0.1;
d=d+f;
f=1.0;
}
return d;
}
double A(char ch)
{ node no;
int t,flag=1;
for( t=0;t<=size+3;t++)
if(n[t].a==ch) break;
double f=1.0;
for(int i=0;i<=
t;i++)
f=f*0.1;
int count=0;
n[t].b+=1;
for(int j=t;j>0&&n[j].b>n[j-1].b;j--)
{ no=n[j];
n[j]=n[j-1];
n[j-1]=no;}
return f;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -