C语言统计段落的数量并将每个单词的首字母转化成大写

C语言利用指针编写程序统计段落的数

  1. 题目
  2. 代码
  3. 运行效果

1.题目:利用指针编写程序,从键盘输入若干个英文段落(长度不超过200字符),直到按’#’结束。统计其中段落的数量,并将每个单词的首字母转化成大写。
参考提示:用getchar()循环读取字符,直到输入’#’结束,之后加上字符串结束标志。段落以’n’,单词以空格、英文标点符号分隔。

2.代码

#include <stdio.h>
#include <stdlib.h> 
int main(){
	char article[200];
	char *p;
	int i;
	int duanluo=1;
	 for(i = 0; i < 200;i++)
    {
        article[i] = getchar();

        if(article[i] == '#')
        {
            article[i+1] = '\0';
            break;
        }
    }
	p=article;// 指针p指向字符串开始位置
	if(*p>='a'&&*p<='z')//第一个字符是小写字母转化为大写字母
	*p=*p-32;
	while(*++p!='\0'){
		if(*(p-1)==' '||*(p-1)=='.'||*(p-1)=='?'||*(p-1)=='!'||*(p-1)=='\n')
		{
		if(*p>='a'&&*p<='z')
		*p-=32;//单词首字母小写转化为大写
		}
		else if(*p>='A'&&*p<='Z')
		{
			*p+=32;
		}
		if(*p == '\n' && *(p+1) == ' ')
			{
				if(*(p+2) == ' ' || (*(p+2)>='a'&&*(p+2)<='z')||(*(p+2)>='A'&&*(p+2)<='Z'))
				duanluo++;//统计段落
			}

}
	puts(article);
	printf("\t文章段落数为:%d\n", duanluo);
	system("pause");
	return 0; 
}

3.运行效果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值