| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6017 人关注过本帖
标题:统计指定文本中每一个大写英文字母、每一个小写英文字母、每一个数字字符出 ...
只看楼主 加入收藏
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
结帖率:66.67%
收藏
 问题点数:0 回复次数:3 
统计指定文本中每一个大写英文字母、每一个小写英文字母、每一个数字字符出现的次数以及文件中字符的总数
题目在代码里,改了好久。。改了好多。。可是都不知道为何。。我是初学者,刚学文件这章。。。求大神们指导我一下~~
程序代码:
#include<stdio.h>
int filelen(FILE *f,int upc[],int lowc[],int numc[]);
/*函数filelen的原型如下所示,其功能是统计出指定文本文件中每一个大写英文字母、每一个小
写英文字母、每一个数字字符出现的次数以及文件中字符的总数。请编写函数filelen并编制主函数进行测试。
   int filelen(FILE *f,int upc[],int lowc[],int numc[]);

提示:
① 文件在主函数中打开/关闭,通过文件类型指针f传递到函数中;
② 文件中字符总数通过函数的返回机制返回;
③ 统计的3类字符个数通过计数器数组从函数中带回,在主函数中输出;*/


void main()
{
    FILE *fp;
    int x,a[26]={0},b[26]={0},c[10]={0},i;
    int big=0,small=0,number=0;//big、small、number是用来求大写小写数字各自的和
    if((fp=fopen("data.txt","r"))==NULL)//已经建立了一个data.txt
    {
        printf("不能打开文件\n");
        return ;
    }
    x=filelen(fp,a,b,c);//x是用来求其他字符的总数
    for(i=0;i<26;i++)
    {    printf("大写字母%c出现了%d次",'A'+i,a[i]);
        big+=a[i];
    }
    for(i=0;i<26;i++)
    {    printf("小写字母%c出现了%d次",'a'+i,b[i]);
        small+=b[i];
    }
    for(i=0;i<10;i++)
    {    printf("数字%d出现了%d次",i,c[i]);
        number+=c[i];
    }//以上用for循环分别输出每个大小写字母出现的字数、数字出现的字数,以及求big、small、number和
    printf("大写字母一共出现%d次,小写字母一共出现%d次,数字一共出现%d次,总字符为%d个",big,small,number,x+big+small+number);
}
int filelen(FILE *f,int upc[],int lowc[],int numc[])
{
    char c=fgetc(f);
    int i=0,p=0;
    while(c!=EOF)
    {
        
        if(c>='A'&&c<='Z')
            upc['c'-65]+=1;    
        if(c>='a'&&c<='z')
            lowc['c'-97]+=1;
        if(c>='0'&&c<='9')
            numc['c'-48]+=1;
        else 
            p+=1;
    }//以上是来 求:比如 A出现3次,就upc[0]=3
    return p;//p是其他字符的总和
    fclose(f);
}


搜索更多相关主题的帖子: 英文字母 文本文件 统计 
2014-05-22 23:05
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
收藏
得分:0 
自顶!!~~~
2014-05-22 23:07
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
收藏
得分:0 
自顶~~~~~
2014-05-22 23:16
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
收藏
得分:0 
已经解决了!
2014-05-22 23:26
快速回复:统计指定文本中每一个大写英文字母、每一个小写英文字母、每一个数字字 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036748 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved