从一个C语言源程序文件中,统计出该C程序中使用的关键字及其频率。统计结果表格保存到文件中

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#define keynum 12
FILE *f;
char keyword[keynum][10]={"void","char","int","float","double","for"
  ,"do","while","return","if","else","switch"};
void main()
{
 int key[keynum];
 char c;
 char str[50];
 int i;
 char *p;
 for(i=0;i<keynum;i++)
  key[i]=0;
 f=fopen("a.txt","rb");
 while(!feof(f))
  {
    c=fgetc(f);
    while(c=='  '||c=='/t')
      c=fgetc(f);
    if(c==';')
      {
        while(c!='/n')
          c=fgetc(f);
      }
    if(isalpha(c))
      {
        p=str;
        while(isalpha(c))
          {
            *p++=c;
            c=fgetc(f);
          }
        *p='/0';
        for(i=0;i<keynum;i++)
         {
           if(strcmp(keyword[i],str)==0)
             {
               key[i]++;break;            
             }
         }
      }
  }
  for(i=0;i<keynum;i++)
   {
     printf("%-10s  %5d/n",keyword[i],key[i]);
   }
  fclose(f);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值