⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1_pro.c

📁 C源代码 计算机等级考试C语言上机题
💻 C
字号:
#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,str1,l;char c;
  for(i=0;i<maxline;i++)      /*把各行中多余的标点符号去掉*/
    for(j=0;j<strlen(xx[i]);j++)
    {
      c=xx[i][j];
      if((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c==' '||(c>='0'&&c<='9')); 
      else  xx[i][j]=' ';
    }
    for(l=0;l<maxline;l++)
    {
      char ch[80]={0};
      char pp[80]={0};
      str1=strlen(xx[l]);
      i=str1-1;  k=1;
      while(1)
      {
        while (((xx[l][i]>='a'&&xx[l][i]<='z')||(xx[l][i]>='A'&&xx[l][i]<='Z')
||(xx[l][i]>='0'&&xx[l][i]<='9'))&&i>=0) /*处理字母和数字*/
        {
          for(j=k;j>=0;j--)
            pp[j+1]=pp[j];                    /*从当前行最后一个字符开始取字符,直到遇空格*/
          pp[0]=xx[l][i];
          k++; i--;
        }
        strcat(ch,pp);                        /*把该单词存放到数组ch中*/
        strcpy(pp, "");                       /*清空数组pp*/
        k=1;
        if(i==-1) break;                      /*如果处理完了一行,则退出循环*/
        while((xx[l][i]<'0'||(xx[l][i]>'9'&&xx[l][i]<'A')||xx[l][i]>'z')&&i>=0)
                                                 /*处理空格*/
        {
          for(j=k;j>=0;j--)  pp[j+1]=pp[j];
          pp[0]=xx[l][i];
          k++;  i--;
        }
        strcat(ch,pp);                        /*把空格加到数组ch中*/
        strcpy(pp,"");                        /*清空数组pp*/
        k=0;
        if(i==-1)  break;                     /*如果处理完了一行,则退出循环*/
      }
      strcpy(xx[l],ch);                      /*把已处理的字符串仍按行重新存入字符串数组xx中*/
    }
}
main()
{
  clrscr() ;
  if(ReadDat ())
  { printf("数据文件 IN85.DAT不能打开!\n\007") ;  return ; }
  StrOL() ;
  WriteDat() ;
}
int ReadDat(void)
{
  FILE *fp ;
  int i = 0 ;
  char *p;
  if((fp = fopen("IN85.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 ;
  clrscr() ;
  fp = fopen("OUT85.DAT", "w") ;
  for(i = 0 ; i < maxline ; i++)
  { printf("%s\n", xx[i]) ; fprintf(fp, "%s\n", xx[i]) ;  }
  fclose(fp) ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -