日常

设计程序计算输入的字符数,单词数与行数。

代码

#include<stdio.h>
#include<ctype.h>
#include<stdbool.h>
#define stop '|'
int  main(void)
{
	int duanju,prev;
	char ch;
	int zifushu=0,hangshu=0,dancishu=0;
	
	bool ceshi=false;
	printf("请输入一段字符:");
	while((ch=getchar())!=stop)
	{
		zifushu++;
		if(ch=='\n')
		{
			hangshu++;
		}
		
		if(!isspace(ch)&&!ceshi)
		{
			dancishu++;
			ceshi=true;
		}
        if(isspace(ch)&&ceshi)
		{
			ceshi=false;
		}	
	prev=ch;
	}
	if(prev!='\n')
	{
		duanju=1;
	}
	printf("这句字符中有%d个字符%d个单词%d个句子%d个断句",zifushu,dancishu,hangshu,duanju);
	return 0;
}

难点

  1. 该程序运用了ctype.h头文件中的函数来判断输入的字符是否为空白符,空白符不止有空格,在默认情况下,空白符包括:
    字符 ASCII码 (十六进制) 说明 (缩写)
    ’ ’ 0x20 空格 (SPC)
    ‘\t’ 0x09 水平制表符 (TAB)
    ‘\n’ 0x0a 换行符 (LF)
    ‘\v’ 0x0b 垂直制表符 (VT)
    ‘\f’ 0x0c 换页 (FF)
    ‘\r’ 0x0d 回车 (CR)
    因此使用isspace函数来判断比使用if一一例举更方便。

2.该程序要设定判断条件来分析单词数以防止在读同一个单词的字符时一直增加单词数。

emmm

本人英文水平有限加上比较懒就用拼音来设定变量了^^

关于isspace函数的具体情况链接为[(http://c.biancheng.net/ref/isspace.html)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值