该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
void main()
{
char infile[10],str[100000];
printf("输入读入文件的名字:");
scanf("%s",infile);
FILE *fp;
fopen(infile,"r");
fp=fopen(infile,"r");
fgets(str,1000000,fp);
if((fp=fopen(infile,"r"))==NULL)
{
printf("can't open file!\n");
exit(0);
}
int i,a[100000]={0};
for(i=0;1;i++)
{
if(str[i]>='A' && str[i]<='Z' || str[i]>='a' && str[i]<='z')
{ a[str[i]-'a']++; }
if(str[i]=='\0')
{ break; }
}
int flag,num=0;
printf("各个字母频度为:");
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='A' && str[i]<='Z' || str[i]>='a' && str[i]<='z')
{ printf("%c的频度为:%d\n",str[i],a[(str[i]-'a')]); }
for(i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
{ flag=0; }
else if(flag==0)
{
flag=1;
num++;
}
}
printf("文件中的单词个数为:%d\n",num);
flag=0;
char str1[100000][100000],string[100000];
int j=0,buff,k=0,n;
for(i=0;str[i]!='\0';i++,j++)
{
if(str[i]>='A' && str[i]<='Z' || str[i]>='a' && str[i]<='z')
{
if(str[i]==' ')
{ flag=0; }
else if(flag==0)
{ buff=i;
for(i=buff;str[i]>='A' && str[i]<='Z' || str[i]>='a' && str[i]<='z';i++,k++)
{
str1[j][k]=str[i];
}
j=j+1;
k=0;
flag=1;
}
}
}
for(n=0;n
{
if(strcmp(str1[n],str1[n+1])<0)
{ strcpy(string,str1[n+1]); }
else
{ strcpy(string,str1[n]); }
}
printf("最长的单词为:%s",string);
}
}