不想飞的时差 2019-06-26 10:09 采纳率: 0%
浏览 230

求用c语言回答,实在不会做了

问题描述:文学研究人员需要编辑文章、统计某篇英文小说中某些词的出现次数和位置。设计一个实现这一目标的文字统计系统。
要求:英文小说存于一个文本文件中。
(1)分别统计出其中英文字母数和空格数及整篇文章总词数;
(2)统计某一字符串在文章中出现的次数和出现的位置(输出行号,或高亮显示);
(3)删除某一子串,并将后面的字符前移。
输出形式:
(1)分行输出用户输入的各行字符;
(2)分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”;
(3)删除某一字符串后的文章写入文件中。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-19 16:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: 《C语言程序设计》实训报告中的 1.由键盘上输入一行以回车结束的字符,分别统计出其中英文字母、空格、数字和其他字符的个数 部分也许能够解决你的问题, 相关内容:

      文字:

      1. 定义变量upper,lower,digit,i,other;
      2. 定义变量ch;
      3. 设置存放统计结果为零;
      4. 输入十个字符;
      5. 判定是否执行了十次,是则转第⑩步,否则转第⑥步;
      6. 判定ch是否为小写英文字母,是则lower+1,否则转第⑦步;
      7. 判定ch是否为大写英文字母,是则upper+1,否则转第⑧步;
      8. 判定ch是否为数字字符,是则digit+1,否则other+1;
      9. 转第⑤步;
      10. 输出英文字母、空格、数字和其他字符的个数;

      流程图:

       

      代码:

      #include<stdio.h>

      int main()

      {

          int upper, lower, digit, i, other;

          char ch;

          upper = lower = digit = other = 0;

          printf("输入10个字符 :");

          for (i = 1; i <= 10; i++)

          {

              ch = getchar();

              if (ch >= 'a' && ch <= 'z')

                  lower++;

              else if (ch >= 'A' && ch <= 'Z')

                  upper++;

              else if (ch >= '0' && ch <= '9')

                  digit++;

              else

                  other++;

          }

          printf("小写字母%d个,大写字母%d个,数字%d个,其他字符%d个\n", lower, upper, digit, other);

          return 0;

      }

      执行结果:


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制