Count words and letters-计算用户输入一行文本中的单词数和每个字母出现次数

//Count words and letters
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cctype>

using namespace std;

int main()
{
    int words_count = 1;
    int char_count[26] = {0};
    char ch;
    
    cout<<"Input a line \n";
    
    while((ch = cin.get()) != ‘\n‘)
    {
        if(ch == ‘ ‘)
            words_count++;
        if(isalpha(ch))
        {
            ch = tolower(ch);
            char_count[static_cast<int>(ch) - 97]++;
        }
    }
    
    //for(int i = 0;i<26;i++)
        //cout<<char_count[i]<<" ";
    
    cout<<words_count<<" words\n";
    for(int i = 0;i < 26;i++)
        if(char_count[i] != 0)
        {
            cout<<char_count[i]<<"\t"<<static_cast<char>(97 + i)<<endl;
        }
        
    return 0;
    
}

结果:

Input a line 
I say Hi.
3 words
1	a
1	h
2	i
1	s
1	y
Input a line 
aaa bb cccc dddd.
4 words
3	a
2	b
4	c
4	d
时间: 2024-08-10 17:17:10

Count words and letters-计算用户输入一行文本中的单词数和每个字母出现次数的相关文章

26 计算用户输入的内容中索引为奇数并且对应的元素为数字的个数的两种方法

#计算用户输入的内容中索引为奇数并且对应的元素为数字的个数第二种方法content = input(">>>")count = 0for i in range(len(content)):#i就是下标,或者说就是索引 if i % 2 == 1 and content[i].isdigit(): count += 1print(count) #计算用户输入的内容中索引为奇数并且对应的元素为数字的个数的第一种方法 li = []res = ' '.join(input(

用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法

用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count ActiveSheet.UsedRange.Columns.Count 缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除), 用这个命令仍返回未清除前的值.就是说现在虽然是空的,但是你曾经用过也算你的. 方法2: ActiveSheet.Range("A65535

从键盘上输入一行字符串,统计单词个数

#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>int main(){char str[100]={'\0'};int count,i,len;while(fgets(str,sizeof(str),stdin)!=NULL) //fgets的用法{count=0;len=strlen(str);for(i=0;i<len;i++){if(isalpha(str

Java 测试:将用户输入的字符串中的敏感字和谐成星星

|--需求说明 |--实现方式 1.将要和谐的关键字设置为数组: 2.遍历数组,对比用户输入是否包含关键字,如果包含,就替换成星号 |--代码内容 1 import java.util.*; 2 3 /** 4 * @auther::9527 5 * @Description: 6 * @program: 多线程 7 * @create: 2019-08-08 18:45 8 */ 9 public class Exam { 10 public static void main(String[]

Excle只允许用户输入纯文本,禁止用户修改单元格样式、格式等

背景:自己的模板给别人,让他填完信息上传到系统里,但别人经常不按模板的格式来填写,导致无法程序自动化.能不能在模板上把格式锁住,只允许输入纯文本,但不能改格式? 方法: 步骤一,创建你要的模板 其中,总票房 单元格格式为"千分位数值"型,平均票价,场均人次 为小数位数为0的"数值"型,上映日期 为"日期"型: 步骤二.设置Ctrl+V粘贴动作默认只粘贴纯文本 另存工作簿为 xlsm格式(启用宏的工作簿): Alt+F11打开宏编辑器,插入->

输出一行字符串中的单词

#include <stdio.h> #include <stdlib.h> /* 输入一行字符串(单词和若干空格), 输出该行单词(每个单词一行) */ int main(){ char chs[100]; gets(chs); int hasWord = 0; //在之前有单词 for (int i = 0; chs[i] != '\0'; ++i){ if (chs[i] != ' '){ //若不为空格,直接输出 printf("%c", chs[i])

廖雪峰 练习 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字

# -*- coding: utf-8 -*- #输入名字,变成首字母大写,其他字母小写的标准格式 def normalize(name): str1 = '' for i, ch in enumerate(name): if i == 0: str1 = str1 + ch.upper() #str.upper() 方法让字母转大写 else: str1 = str1 + ch.lower() #str.lower() 方法让字母转小写 return str1 # 输入: L1 = ['ada

摘要: 用户输入的文本,有可能在很多地方出现,在出现时需要作转码

http://www.songtaste.com/user/10683356/infohttp://www.songtaste.com/user/10683367/infohttp://www.songtaste.com/user/10683369/infohttp://www.songtaste.com/user/10683381/infohttp://www.songtaste.com/user/10683370/infohttp://www.songtaste.com/user/10683

(hdu 简单题 128道)AC Me(统计一行文本中各个字母出现的次数)

题目: AC Me Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13465    Accepted Submission(s): 5927 Problem Description Ignatius is doing his homework now. The teacher gives him some articles and as