输入一个由若干单词组成的文本行,每个单词之间用若干个空格隔开,统计此文本中单词的个数。/验证实验/
#include<iostream>
using namespace std;
struct st
{
char str[100];
int n; //存个数
}b[100]; //all words in this centence should be store in every characters, and the longest word should be under 100, and most can store 100 words
int check(char *a, char *b)
{
int i,j;
for (i=0,j=0; a[i]&&b[j]; i++,j++)
{
if (a[i]==b[j] || a[i]+32==b[j] || a[i]-32==b[j])
continue;
else
break;
}
if (a[i] == '\0'&&b[j]=='\0')
return 1;
return 0;
}
int main()
{
char a[10000],ch[100];
int i,j,k=0,c=0;
cout<<"please input any centence you like best:"<<endl;
gets(a);
/* FILE *fp;
fp = fopen("c://lanqiao.txt","r");
fgets(a,sizeof(a),fp);
fclose(fp);*/
for (i=0; i<100; i++)
{ b[i].n = 1; }
for (i=0; i<=strlen(a); i++)
{
if ((a[i]==' '||a[i]==','||a[i] == '.'||a[i]=='\0') && k!=0)//不为英文
{
ch[k]='\0';
strcpy(b[c++].str, ch);//i have no reason to store a character without letter
k=0; //and k[0] always wait for some guys is not letter
}
else if (a[i]>='A'&&a[i]<='Z' || a[i]>='a'&&a[i]<='z')
{
ch[k++] = a[i];//all letter should store in and start k[1] and the like
}
}
for (i=0; i<c-1; i++)
{
if (b[i].str[0] != 0)
for (j=i+1; j<c; j++)
{
if (check(b[i].str, b[j].str)) //字符串不分大小写比较
{
b[i].n++;
b[j].str[0] = '\0';
}
}
}
for (i=0; i<c; i++)
{
if (b[i].str[0]!=0)
{
for (j=0; b[i].str[j]!='\0'; j++)
{
if (b[i].str[j]<='z'&&b[i].str[j]>='a')
{ b[i].str[j] -= 32; } //unify all word to be capital styles
cout<<b[i].str[j];
}
cout<<':';
for (j=0; j<b[i].n; j++)
{
cout<<'*';
}
cout<<b[i].n<<endl;
}
}
return 0;
}
输入一个由若干单词组成的文本行,每个单词之间用若干个空格隔开,统计此文本中单词的个数。/验证实验/相关推荐
- C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……
例题:请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回.一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始和结尾都没有空格. 请勿改 ...
- c语言统计输入文本不同字母单词数,统计文本中单词的个数
㈠ 统计一行文本的单词个数:输入一行字符,统计其中单词的个数.个单词之间用空格分隔,空格数可以是多个, 代码部分: #include int main() { int count=0; char te ...
- 输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号(’a’和’A’的序号为1)
#include<stdio.h> int main() {/*输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号('a'和'A'的序号为1). 输入*/char n ...
- 从键盘输入一个二进制非负整数,屏幕上打印输出对应的十进制、八进制和十六进制数,要求输出的十六进制数中的英文字母为大写字母。
从键盘输入一个二进制非负整数,屏幕上打印输出对应的十进制.八进制和十六进制数,要求输出的十六进制数中的英文字母为大写字母. 示例输入.输出如下: Input a binary number: 1001 ...
- python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母
题目: 输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1) 输入要求: 第一行输入大小写组成的字符串 第二行输入k, k必须 ...
- python单词个数统计_Python 统计文本中单词的个数
1.读文件,通过正则匹配 def statisticWord(): line_number = 0 words_dict = {} with open (r'D:\test\test.txt',enc ...
- pta——大笨钟的心情,稳赢,统计一行文本的单词个数(c语言)
程序设计实训8月15日小组编程 7-4 稳赢 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢 ...
- Java编程之统计英文句子中单词个数、不同单词和重复单词个数
一.题目 从键盘输入一个英文句子,统计该句子中的英文单词个数,并找出所有单词存放到一个数组中.同时,输出该句子中的不同单词和重复单词以及它们的个数. 二.实验代码 package fighting; ...
- PTA c语言 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数.所谓"单词"是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入给出一行字符. 输出格式: 在一行中输出 ...
最新文章
- SQL注入攻击的种类和防范手段
- PAT (Basic Level) Practice (中文)1005 继续(3n+1)猜想 (25 分)
- IDEA——常用基础设置
- linux瘦身软件下载,瘦身相机APP全新安卓版下载-瘦身相机APPV1.3.0-Linux公社
- 分布式监控:Zabbix_sender介绍及配置
- java Swing实现考试系统
- MySQL ALTER语法
- Android黑科技之删除系统App
- 服务器mt核心bug修复,RHSA-2020:0374-重要: 内核 安全和BUG修复更新 解决方法
- win10计算机系统盘不足,Win10系统C盘空间不足?简单5招,教你安全清理C盘垃圾!...
- 苹果笔记本 麦克风设置
- 去除加粗的css,CSS去掉b加粗和strong加粗标签样式
- B2C网站提高转化率的方法
- Metaverse 元宇宙入门-02-Hardware 硬件与元宇宙
- Python 绘制圆锥体(3D图)
- exls表格搜索快捷键_excel表格中的快捷键
- CCS Uniflash烧写CC3200开发板的简易操作笔记
- 【1000套HTML5+CSS项目实战案例】大学生期末网页作业源代码
- web前端开发三个阶段和三要素,学前端必备基础知识
- 跟着聪明资金做交易!北上资金每天操作哪些股票一目了然