“21天好习惯” 第一期 -19

字符数组应用举例:

输入一个句子(一行字符),统计其中有多少个单词,句子中各个单词用至少一个空格分开;

分析:
        定义一个存放句子的字符数组及相对应的变量;

        输入句子

        统计单词个数

        输出单词个数;

关键:如何统计???

      从串首字符直到字符串结束,依个检查字符串个字符;如果相邻两个字符前为空格,后为空格,则单词数加一;

但句子的第一个单词不是以空格开始的,直接这样统计会缺漏,所以单词数初值应该为1;

#include <stdio.h>
int main()
{
	char str[255];
	int i,num=0;
	gets(str);
	
	if(str[0]!=' ')
		num=1;
		
	for(i=0;str[i];i++)
		{
			if(str[i]==' '&&str[i+1]!=' ')
				{
					num++;
				}
		}
		printf("words:%d\n",num);
		
		return 0;
}

例2:连接两个串:把字符串str2连接到字符串str1之后。如果字符数组str1的存储空间不够,
直到把str1填满为止。

思路是:
1、定义存放两个串的字符数组及相关变量
2、输入两个串
3、定位串1的串结束符;
4、依次将串2的每个字符连接到串1后,直至串2处理完或者存放串1的数组空间不够;
5、在连按好后,末尾填入字符串结束符

#include <stdio.h>
int main()
{
	char str1[10],str2[10];
	int i=0,j=0;
	
	gets(str1);gets(str2);
	
	while(str1[i])
		i++;
	while(str2[j]&&i<9)
		{
			str1[i]=str2[j];
			i++;
			j++;
		}
		
		str1[i]='\0';
		puts(str1);
		
		return 0;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值