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

📄 wenzhangbianji2.txt

📁 功能:输入一页文字
💻 TXT
字号:
// 55.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

 #include<iostream>
      #include<string>
      #define N 1000
      using namespace std;
      char str[N][81];
      int l[N];
      int n;
      char a[81];
      void input()                             //输入要统计的字符串
      {
      int k;
      char c;
      k=0;
      while(1)
      {
         scanf("%c",&c);
         if(c=='\n')break;
         a[k]=c;
         k++;
      }
      a[k]='\0';
      }
      void print()                              //输出用户输入的各行字符
      {
      int i,j;
      for(i=0;i<=n;i++)
      {
         for(j=0;j<l[i];j++)
          printf("%c",str[i][j]);
      }
      printf("\n");
      }
      void tongji()                              //统计
      {
      int i,j;
      int wz,kg,sz,sum;                      //分别记录文字个数,空格个数,数字个数,总数
      wz=kg=sz=sum=0;
      for(i=0;i<=n;i++)
      {
         for(j=0;j<l[i];j++)
         {
          if(str[i][j]!='\n')
           sum++;
          if((str[i][j]<='z'&&str[i][j]>='a')||(str[i][j]<='Z'&&str[i][j]>='A'))
           wz++;
          if(str[i][j]<='9'&&str[i][j]>='0')
           sz++;
          if(str[i][j]==' ')
           kg++;
         }
      }
      printf("\n全部字母数为:%d\n",wz);
      printf("数字个数为:%d\n",sz);
      printf("空格个数为:%d\n",kg);
      printf("文章总字数为:%d\n\n",sum);
      }
      void chazhao()                            //统计某一字符串在文章中出现的次数
      {
      int i,j,k,l1,y;
      int x=0;
      l1=strlen(a);
      for(i=0;i<=n;i++)
      {
         for(j=0;j<l[i];j++)
         {
          y=1;
          if(j+l1==l[i])break;
          for(k=0;k<l1;k++)
          {
           if(a[k]!=str[i][j+k]){y=0;break;}
          }
          if(y)x++;
         }
      }
      for(i=0;i<l1;i++)
         printf("%c",a[i]);
      printf(" 在文中出现次数为:%d\n\n",x);
      }
      void del()                               //删除某一字符串并输出
      {
      int i,j,k,l1,y;
      bool b[N][81];
      l1=strlen(a);
      memset(b,0,sizeof(b));
      for(i=0;i<=n;i++)
      {
         for(j=0;j<l[i];j++)
         {
          y=1;
          if(j+l1==l[i])break;
          for(k=0;k<l1;k++)
          {
           if(a[k]!=str[i][j+k]&&!b[i][j+k])//如果不匹配,将y标记为0,并重新查找
           {
            y=0;
            break;
           }
          }
          if(y)
          {
           for(k=0;k<l1;k++)
            b[i][j+k]=1;                //将b[i][j+k]标记为1,说明str[i][j+k]应删去
          }
         }
      }
      printf("\n删除该字符串后文章:\n");
      for(i=0;i<=n;i++)
      {
         for(j=0;j<l[i];j++)
          if(!b[i][j])printf("%c",str[i][j]);
      }
      }
      void solve()
      {
      int z;
      while(1)
      {
         printf("输入您需要的操作(选择序号):\n");
         printf("1.输出原文\n");
         printf("2.统计文章字数\n");
         printf("3.统计某一字符串在文章中出现的次数\n");
         printf("4.删除某一字符串并输出文章\n");
         printf("5.结束\n");
         scanf("%d",&z);
         if(z==1)print();                                     //输出原文
         if(z==2)tongji();                                    
      //分别记录文字个数,空格个数,数字个数,总数
         if(z==3)
         {
          printf("\n输入要统计的字符串:\n");            //统计某一字符串在文章中出现的次数
          getchar();
          input();
          chazhao();
         }
         if(z==4)
         {
          printf("\n输入要删除的字符串:\n");            //删除某一字符串
          getchar();
          input();
          del();
         }
         if(z==5)break;
      }
      }
      int main()
      {
      FILE *fin=fopen("data.in","a+");   // 文件输入,在目录下创一个data.in的文档
      char c;
      n=0;
      memset(l,0,sizeof(l));
      while(fscanf(fin,"%c",&c)!=EOF)
      {
         str[n][ l[n] ]=c;
         l[n]++;
         if(c=='\n')n++;
         if(l[n]>80){printf("error\n\n");break;}
      }
      solve();
      return 0;
      }

⌨️ 快捷键说明

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