
展开全部
不知道你说的意思是从文件中读出 还是直接从屏幕输入单词 下面是我做的直接从屏幕输入单词的一个程序 你可以看看噢
#include <stdio.h>
#include<string.h>
void main()
{
char str[100][26];
const char str1[5]="1234"; const char str2=' ';
int num[100];
int m,k,i,n,x,q;
int max,max1,max2;
double pl;
again:
max=0;max1=0;max2=0;
m=0;k=0;i=0;n=0;x=0;q=0;
pl=0;
for(m=0 ;m<100;m++)
{num[m]=0;
}
for(m=0 ;m<100;m++)
{strcpy( str[m],&str2);
}
printf(" 请输入单词(100个单词以 内 每个不大于25个字符)\n");
printf(" 输入 1234 结束输入 \n");
for(m=0 ;m<100;m++)
{
scanf("%s",str[m]);
if( strcmp(str[m],str1 )==0 )
break;
}
for(i=0 ; i<m;i++)
{
for(k=0; k<m;k++)
{
if(strcmp(str[i],str[k] )==0)
{
num[i]++;
}
}
}
max=num[0];
while(max>=2)
{
max=num[0];max1=0;max2=0;
for(n=0;n<m;n++)
{
if(max<num[n+1])
{
max=num[n+1];
max1=n+1;
}
}
num[max1]=0;
pl=(double)max/m;
printf("%8s",str[max1]);
printf(" 出现%8d次",max);
printf(" 位置 第%8d个 ",max1+1);
printf("频率%8lf\n",pl);
for(n=0;n<m;n++)
{
if(max==num[n+1] && max1!=n+1)
{max2=n+1;
num[max2]=0;
printf("%8s",str[max2]);
printf(" 出现%8d次",max);
printf(" 位置 第%8d个 ",max2+1);
printf("频率%8lf\n",pl);
}
}
printf(" 。第%d位 。\n\n\n",q+1);
q++;
}
printf("重新输入 按 1 其它键退出程序");
scanf("%d",&x);
switch(x)
{case 1:
goto again;
break;
default:
return;
}
}
#include <stdio.h>
#include<string.h>
void main()
{
char str[100][26];
const char str1[5]="1234"; const char str2=' ';
int num[100];
int m,k,i,n,x,q;
int max,max1,max2;
double pl;
again:
max=0;max1=0;max2=0;
m=0;k=0;i=0;n=0;x=0;q=0;
pl=0;
for(m=0 ;m<100;m++)
{num[m]=0;
}
for(m=0 ;m<100;m++)
{strcpy( str[m],&str2);
}
printf(" 请输入单词(100个单词以 内 每个不大于25个字符)\n");
printf(" 输入 1234 结束输入 \n");
for(m=0 ;m<100;m++)
{
scanf("%s",str[m]);
if( strcmp(str[m],str1 )==0 )
break;
}
for(i=0 ; i<m;i++)
{
for(k=0; k<m;k++)
{
if(strcmp(str[i],str[k] )==0)
{
num[i]++;
}
}
}
max=num[0];
while(max>=2)
{
max=num[0];max1=0;max2=0;
for(n=0;n<m;n++)
{
if(max<num[n+1])
{
max=num[n+1];
max1=n+1;
}
}
num[max1]=0;
pl=(double)max/m;
printf("%8s",str[max1]);
printf(" 出现%8d次",max);
printf(" 位置 第%8d个 ",max1+1);
printf("频率%8lf\n",pl);
for(n=0;n<m;n++)
{
if(max==num[n+1] && max1!=n+1)
{max2=n+1;
num[max2]=0;
printf("%8s",str[max2]);
printf(" 出现%8d次",max);
printf(" 位置 第%8d个 ",max2+1);
printf("频率%8lf\n",pl);
}
}
printf(" 。第%d位 。\n\n\n",q+1);
q++;
}
printf("重新输入 按 1 其它键退出程序");
scanf("%d",&x);
switch(x)
{case 1:
goto again;
break;
default:
return;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询