当前位置:   article > 正文

C英文本文件的处理_c文件将文件中包含teacher或student的关键词段落摘录

c文件将文件中包含teacher或student的关键词段落摘录

一、题目要求:

    1.读入一个英文文本文件,英文中有字母、数字、其它字符,无汉字,文件有多行(程序要能处理至少4行文字,附件中有参考素材)。

    2.编写函数实现:统计字母的出现频度,并显示结果。(大小写算同一字母)

    3.编写函数实现:统计其中单词的个数,并显示结果。(单词个数以WORD统计作为参考,不一定100%相同。)

    4.编写函数实现:找出最长的单词,并显示单词及其长度。

    5.编写函数实现:统计出现的整数,存入一维数组,并显示结果。

        (1) 比如文件中有两行:

            "abc 123 W 6 www 9."

            "teacher 10 student 7."

        (2) 分析得到5个数:123、6、9、10、7。

        (3) 定义数组int a[1000]

        (4) a[0]=123,a[1]=6,a[2]=9,a[3]=10,a[4]=7。

注:可以利用下标或字符型指针处理字符串。 

实现代码:

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. void f1(int a[], int m)
  4. {
  5. int i,j,b[26];
  6. for (i = 0; i < 26; i++)
  7. {
  8. b[i] = 0;
  9. }
  10. for (i = 0; i < m; i++)
  11. {
  12. if (a[i] >= 65 && a[i] <= 90)
  13. {
  14. b[a[i] - 65]++;
  15. }
  16. if (a[i] >= 97 && a[i] <= 122)
  17. {
  18. b[a[i] - 97]++;
  19. }
  20. }
  21. for (i = 0, j = 97; i < 26; i++, j++)
  22. {
  23. printf("%4c的频数为%2d\n", j, b[i]);
  24. }
  25. }
  26. //统计整数//
  27. void f2(int a[],int m)
  28. {
  29. int i=0,j=0,b[1000];
  30. for(i=0;i<1000;i++)
  31. {
  32. b[i]=0;
  33. }
  34. for(i=0;i<m;i++)
  35. {
  36. if(a[i]>=48&&a[i]<=57)
  37. {
  38. b[j]=b[j]*10+a[i]-48;
  39. if(a[i+1]>57||a[i+1]<48)
  40. {
  41. j++;
  42. }
  43. }
  44. }
  45. printf("整数有:");
  46. for(i=0;i<j;i++)
  47. {
  48. printf("%5d\n",b[i]);
  49. }
  50. printf("\n");
  51. }
  52. //单词个数//
  53. void f3(int a[],int m)
  54. {
  55. int i=0,count=0;
  56. for(i=0;i<m;i++)
  57. {
  58. if((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122))
  59. {
  60. if(a[i+1]<65||(a[i+1]>90&&a[i+1]<97)||a[i+1]>122)
  61. {
  62. count++;
  63. }
  64. }
  65. }
  66. printf("单词个数为:%d\n",count);
  67. }
  68. //查找最长单词//
  69. void f4(int a[],int m)
  70. {
  71. int i,*p,chang=0,t=0;
  72. for(i=0;i<m;i++)
  73. {
  74. if((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122))
  75. {
  76. t++;
  77. }
  78. else
  79. {
  80. if(t>chang)
  81. {
  82. p=&a[i];
  83. chang=t;
  84. }
  85. t=0;
  86. }
  87. }
  88. int *p1;
  89. printf("其最长的单词为:");
  90. for(p1=p-chang;p1<p;p1++)
  91. {
  92. printf("%c",*p1);
  93. }
  94. printf("\n其长度为:%d",chang);
  95. }
  96. int main()
  97. {
  98. void f1(int a[], int m);
  99. void f2(int a[],int m);
  100. void f3(int a[],int m);
  101. void f4(int a[],int m);
  102. FILE* fp;
  103. printf("读入的文件内容为:\n");
  104. fp = fopen("C:\\Users\\2.txt", "r");
  105. int a[2000], i=0;
  106. while (!feof(fp))
  107. {
  108. a[i] = fgetc(fp);
  109. printf("%c", a[i]);
  110. i++;
  111. }
  112. printf("\n");
  113. int n;
  114. n = i;
  115. f1(a, n);
  116. printf("\n");
  117. f2(a,n);
  118. printf("\n");
  119. f3(a,n);
  120. printf("\n");
  121. f4(a,n);
  122. printf("\n");
  123. return 0;
  124. }

  

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/760604
推荐阅读
相关标签
  

闽ICP备14008679号