请问我下面的C代码出现什么问题了?第1步和第5步都不正常了,顺便可否教我改一下

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:00:30
#include "stdio.h"
#include <stdlib.h>

void main()
{
FILE *f;
char a[50],ch;
int i,flag,num,n=1;
long letter=0,let,word=0;
f=NULL;
main: printf("\t\t英文文章统计程序\n(1)打开文件,载入英文文章\n(2)统计文章中英文的单词数\n(3)统计文章中标点符号数目\n(4)统计文章的句子数目\n(5)统计文章各英文字母出现的频率\n(6)查询文章某个单词出现的次数\n(7)退出\n请键入相应操作的编号:"); /*主界面*/
scanf("%d",&i);

if(i==1) /*打开文章*/
{
first: printf("请输入你要打开的文章:");
getchar();
gets(a);
if((f=fopen(a,"r"))!=NULL)
{
system("CLS");
printf("文章读取成功,请继续进行操作\n");
goto main;
}
else
{
printf("请输入正确的文件名,以便进行操作:\n");
goto first;
}
}

if(i==2) /*统计英语单词数*/
{
flag=0;
num=0;
if(f!=NULL)
{
while((ch=fgetc(f))!=EOF)

#include "stdio.h"
#include <stdlib.h>

void main()
{
FILE *f;
char a[50],ch;
int temp[27]={0};
int i,flag,num,n=1;
long letter=0,word=0;
f=NULL;
main: printf("\t\t英文文章统计程序\n(1)打开文件,载入英文文章\n(2)统计文章中英文的单词数\n(3)统计文章中标点符号数目\n(4)统计文章的句子数目\n(5)统计文章各英文字母出现的频率\n(6)查询文章某个单词出现的次数\n(7)退出\n请键入相应操作的编号:"); /*主界面*/
scanf("%d",&i);
getchar();
if(i==1) /*打开文章*/
{
first: printf("请输入你要打开的文章:");
//getchar();
gets(a);
if((f=fopen(a,"r"))!=NULL)
{
system("CLS");
printf("文章读取成功,请继续进行操作\n");
goto main;
}
else
{
printf("请输入正确的文件名,以便进行操作:\n");
goto first;
}
}

if(i==2) /*统计英语单词数*/
{
flag=0;
num=0;
if(f!=NULL)
{
while((ch=fgetc(f))!=EOF)
{
if(ch