C语言:统计一个文本文件中字母,数字及其他字符各有多少个,是编写相应程序

C语言:统计一个文本文件中字母,数字及其他字符各有多少个,是编写相应程序,第1张

源代码如下:

#include<stdio.h>

#include<string.h>

void main()

{

char str[20]

int num=0,letter=0,other=0

int i=0

scanf("%s",str)

for(i=0i<strlen(str)i++)

{

if(str[i]>='0'&&str[i]<='9') num++

else if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z') letter++

else other++

}

printf("numbers: %d\nletters: %d\nothers: %d\n",num,letter,other)

}

扩展资料

1、统计文件的字符宏春数、单词数以及总行数,包括每行的字符数和单词数。

2、空白字符(空格和tab缩进)不计入字符总数睁绝并;单词以空格为分隔。不考虑一个单词在两行的情况,限制每行的字悉迹符数不能超过1000。

选择你要统计的文件夹,你选择的文件夹可以是一个也可以是多个。

点击鼠标右键d出菜单,选择最下面的“属性”。

选择“属性”后,d出对话框。如果您乎冲只选择一个文件夹进行统计,则上面有“常规”,“共享”,“自定义”三个选项如果您选择多个文件夹进行统计亏握,则上面有“常规”,“自定义销顷庆”两个选项。

选择“常规”,

在C盘新建文件1.txt,输入任意字符,

编写java代码。如下:

import java.io.BufferedReader

import java.io.FileNotFoundException

import java.io.FileReader

import java.io.IOException

import java.util.TreeMap

 

public class Test {

    // 统计数字或者字符出现的次数

    public static TreeMap<Character, Integer> Pross(String str) {

        char[] charArray = str.toCharArray()

 

        TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>()

 

        for (int x = 0 x < charArray.length x++) {

            if (!tm.containsKey(charArray[x])) {

                tm.put(charArray[x], 1)

            } else {

                int count = tm.get(charArray[x]) + 1

                tm.put(charArray[x], count)

            }

        }

        return tm

    }

 

    public static void main(String[] args) {

        BufferedReader br = null

        int line = 0

        String str = ""

        StringBuffer sb  = new StringBuffer()

        try {

            br = new BufferedReader(new FileReader("c:\\1.txt"))

            while ((str = br.readLine()) != null) {

                sb.append(str)

                ++line

 者搜           }

            System.out.println("\n文件行数: " + line)

            System.out.println("\n文件内容: " + sb.toString())

            TreeMap<Character, Integer> tm = Pross(sb.toString())

            System.out.println("\n字符统计结果为:" + tm)

        } catch (FileNotFoundException e) {

            e.printStackTrace()

        } catch (IOException e) {

         返嫌指   e.printStackTrace()

        } finally {

            if (br != null) {

                try {

                    br.close()

                } catch (IOException e) {

                    // TODO Auto-generated catch block

          漏配          e.printStackTrace()

                }

            }

        }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12217090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存