牛牛问题,字符串问题

牛牛问题,字符串问题_第1张图片

#include 
#include 
using namespace std;
int main()
{
	int n;
	int i = 0;
	while (cin >> n)
	{
		vector<int> a;
		//申请空间的时候多申请一个空间来存放0,放置到之后发生越界
		a.resize(n+1);//设置数组长度为n+1来防止a[i+1]访问越界
		long long num = 0;
		for (i = 0; i < n; ++i)
		{
			cin >> a[i];
		}
		a[n] = 0;
		i = 0;
		while(i<n)//遍历数组
		{
			if (a[i] < a[i + 1])
			{
				while (i < n && a[i] <= a[i + 1]) //移动到当前序列末尾
					i++;
				num++;//序列数+1
				i++; //移动到下一序列
			}
			else if (a[i] == a[i + 1])
				i++;
			else
			{
				while (i < n && a[i] >= a[i + 1])
					i++;
				num++;
				i++;
			}
		}
		cout << num << endl;
	}
	return 0;
}

牛牛问题,字符串问题_第2张图片

#include
#include
#include
using namespace std;
int main()
{
	string s1;	
	vector<string> vec;
	string s2;
	getline(cin, s1);
	for (int i = 0; i<s1.size(); ++i)   //接收字符串
	{
	
		while (s1[i] != ' ' && i < s1.size())
		{
			s2 += s1[i];
			i++;
		}
		vec.push_back(s2);
		s2.clear();  //清空内容
	} 
	for (int i = vec.size() - 1; i >0; --i)
	{
		cout << vec[i];  //依次取出但是最后一个不取出,因为最后一个后面没有空格,循环结束后在单独压入
		cout << ' ';
	}
	cout << vec[0];
	return 0;
}

你可能感兴趣的:(剑指offer)