字符串部分-单词拼接-单词的个数

来源:互联网 发布:mac上的翻译软件 编辑:程序博客网 时间:2024/04/29 10:06

1. 题目:把短的字符串拼接到长的后面,且字符串的长度不超过20;

思路:首先需要计算两个字符串的长度,然后利用循环,把短的字符串拼接到长的后面,让短的第一个下标放在长的最后一个下标之后。

#include<iostream>using namespace std;int main(){int len1,len2;char str1[40],str2[40];cin.getline(str1,20);cin.getline(str2,20);for(len1=0;str1[len1]!='\0';len1++);//求字符串1的长度for(len2=0;str2[len2]!='\0';len2++);//求字符串2的长度    if(len1<len2){//把短的元素第一个坐标放到长的元素最后一个坐标后。      for(len1=0;str1[len1]!='\0';len1++){      str2[len2++]=str1[len1];      str2[len2]='\0';//结尾为0才能看成字符串      }    }    else{    for(len2=0;str2[len2]!='\0';len2++){          str1[len1++]=str2[len2];          str1[len1]='\0';          }    }    cout<<str1<<endl;cout<<str2<<endl;return 0;}

2 题目:求取一串字符中单词的个数,每个单词之间,空格可能不止一个。

思路:如果在读到一个字母之前读到的是空格,说明读到了单词的首字母,因此,用一个标志位判断是否读到空格,然后根据标志位判断是否是读到空格后的第一个字母。

include<iostream>using namespace std;int main(){char str[80];int num=0,flag=0;cin.getline(str,80);for(int i=0;str[i]!='\0';i++){if(str[i]==' ')//读到空格,标志位设为0flag = 0;else if(flag==0){//不是空格,且标志位为零,说明读到单词的首字母flag=1;num++;}}cout<<"给定的字符串中共有"<<num<<"个单词"<<endl;return 0;}


0 0
原创粉丝点击