云终端服务器软件:一道C语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/19 18:28:10
# include"stdio.h"
# include"string.h"
# include"conio.h"
# include"ctype.h"
char xx[50][80];
int maxline=0;

int ReadDat(void);
void WriteDat(void);

void StrOL(void)
{ int i,j,k,m,n,ll;
char yy[80];
for(i=0; i < maxline; i++)
{ ll=strlen(xx[i]); k=n=0;
for(j=ll-1; j>=0; j--)
{ if(isalpha(xx[i][j])) k++;
else
{ for(m=1; m<=k; m++)
yy[n++]=xx[i][j+m]; k=0; }
if(xx[i][j]==' ') yy[n++]=' ';
}
strcpy(xx[i],yy);
}
}

void main()
{clrscr();
if(ReadDat())
{printf("Can't open the file!\n");
return;}
StrOR();
WriteDat();
system("pause");
}

int ReadDat(void)
{FILE *fp;int i=0;char *p;
if((fp=fopen("in.dat","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{FILE *fp;
int i;
fp=fopen("out.dat","w");
for(i=0;i<maxline;i++)
{printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
} 为什么 第一个单词 没读出来呢 在线问题
我想知道为什么??
不要抄袭我的了 好不好 各位大哥

你看看我这了,也许会有一点帮助
# include"stdio.h"
# include"string.h"
# include"conio.h"
# include"ctype.h"
char xx[50][80];
int maxline=0;

int ReadDat(void);
void WriteDat(void);

void StrOL(void)
{ int i,j,k,m,n,ll;
char yy[80];
for(i=0; i < maxline; i++)
{ ll=strlen(xx[i]); k=n=0;
for(j=ll; j>=0; j--)
{ if(isalpha(xx[i][j])) k++;
else
{ for(m=0; m<=k; m++)
yy[n++]=xx[i][j+m]; k=0; }
if(xx[i][j]==' ') yy[n++]=' ';
}
strcpy(xx[i],yy);
}
}

void main()
{clrscr();
if(ReadDat())
{printf("Can't open the file!\n");
return;}
StrOR();
WriteDat();
system("pause");
}

int ReadDat(void)
{FILE *fp;int i=0;char *p;
if((fp=fopen("in.dat","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{FILE *fp;
int i;
fp=fopen("out.dat","w");
for(i=0;i<maxline;i++)
{printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}

# include"stdio.h"
# include"string.h"
# include"conio.h"
# include"ctype.h"
char xx[50][80];
int maxline=0;

int ReadDat(void);
void WriteDat(void);

void StrOL(void)
{ int i,j,k,m,n,ll;
char yy[80];
for(i=0; i < maxline; i++)
{ ll=strlen(xx[i]); k=n=0;
for(j=ll; j>=0; j--)
{ if(isalpha(xx[i][j])) k++;
else
{ for(m=0; m<=k; m++)
yy[n++]=xx[i][j+m]; k=0; }
if(xx[i][j]==' ') yy[n++]=' ';
}
strcpy(xx[i],yy);
}
}

void main()
{clrscr();
if(ReadDat())
{printf("Can't open the file!\n");
return;}
StrOR();
WriteDat();
system("pause");
}

int ReadDat(void)
{FILE *fp;int i=0;char *p;
if((fp=fopen("in.dat","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{FILE *fp;
int i;
fp=fopen("out.dat","w");
for(i=0;i<maxline;i++)
{printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}

我只大概看了一下,不知道你的程序是干什么用的.我发现开始处写了int maxline=0;接下来的第一重循环中for(i=0; i < maxline; i++) 显然i < maxline这个条件不满足,因此没能进入下面的循环
我只看了这一些,希望对你有所帮助
你应该把你想完成的功能告诉我们

没什么问题啊,我就能显示出来。不过我的不是TC,所以去掉了一些函数,我在VC.NET下通过,单词都可以显示,没有少一个单词的情况。

# include"stdio.h"
# include"string.h"
# include"conio.h"
# include"ctype.h"
char xx[50][80];
int maxline=0;

int ReadDat(void);
void WriteDat(void);

void StrOL(void)
{ int i,j,k,m,n,ll;
char yy[80];
for(i=0; i < maxline; i++)
{ ll=strlen(xx[i]); k=n=0;
for(j=ll-1; j>=0; j--)
{ if(isalpha(xx[i][j])) k++;
else
{ for(m=1; m<=k; m++)
yy[n++]=xx[i][j+m]; k=0; }
if(xx[i][j]==' ') yy[n++]=' ';
}
strcpy(xx[i],yy);
}
}

void main()
{
if(ReadDat()){
printf("Can't open the file!\n");
return;
}
//StrOR();
WriteDat();
//system("pause");
}

int ReadDat(void)
{
FILE *fp;int i=0;char *p;
if((fp=fopen("in.dat","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{
p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("out.dat","w");
for(i=0;i<maxline;i++)
{printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}