当前位置:   article > 正文

【笔试相关】OJ在线编程常见输入输出练习(C++版)牛客网题目_牛客网oj入门题

牛客网oj入门题

函数相关知识

函数总结
cin>>遇到空格和换行自动停止读入,换行空格仍在缓存区中,下次读入自动跳过 读取后面的字符
cin.get()读入字符
getline(cin,str)读取整行数据到str中
cin.getline(char*,int)接收字符串储存到char*中,长度为n 可以接受空格
char a; cin.get(a)a中可以储存被cin丢弃的换行符

A+B(1)

在这里插入图片描述

void fun1()
{
	int a, b;
	while (cin >> a >> b)
	{
		cout << a + b << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

A+B(2)

在这里插入图片描述

void fun2()
{
	int n, a, b;
	cin >> n;
	for (int i = 0;i < n;i++)
	{
		cin >> a >> b;
		cout << a + b << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

A+B(3)

在这里插入图片描述

void fun3()
{
	int a, b;
	while (cin >> a >> b)
	{
		if (a == 0 && b == 0)break;
		cout << a + b << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

A+B(4)

在这里插入图片描述

void fun4()
{
	int n, a, b;
	b = 0;
	while (cin >> n)
	{
		if (n == 0)break;
		for (int i = 0;i < n;i++)
		{
			cin >> a;
			b += a;
		}
		cout << b << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

A+B(5)

在这里插入图片描述

void fun5()
{
	int n;
	int a, b;
	while (cin >> n)
	{
		for (int i = 0;i < n;i++)
		{
			int num;
			while (cin >> num)//结束后继续输入返回这里
			{
				a = 0;
				for (int j = 0;j < num;j++)
				{
					cin >> b;
					a += b;
				}
				cout << a << endl;
			}
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

A+B(6)

在这里插入图片描述

void fun6()
{
	int n, a, b;
	b = 0;
	while (cin >> n)
	{
		if (n == 0)break;
		for (int i = 0;i < n;i++)
		{
			cin >> a;
			b += a;
		}
		cout << b << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

A+B(7)

在这里插入图片描述

void fun7()
{
	int a, sum;
	sum = 0;
	while (cin >> a)
	{
		sum += a;
		if (getchar() == '\n')
		{
			cout << sum << endl;
			sum = 0;
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

字符串排序(1)

在这里插入图片描述

void fun8()
{
	int n;
	string s;
	vector<string>ret;
	cin >> n;
	for (int i = 0;i < n;i++)
	{
		cin >> s;
		ret.push_back(s);
	}
	sort(ret.begin(), ret.end());
	for (int i = 0;i < n;i++)
	{
		cout << ret[i] << endl;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

字符串排序(2)

在这里插入图片描述

void fun9()
{
	string s;

	//cin >> n;

	while (1)
	{
		vector<string>ret;
		while (cin >> s)
		{
			ret.push_back(s);
			if (getchar() == '\n')
			{
				break;
			}
		}
		sort(ret.begin(), ret.end());
		for (int i = 0;i < ret.size();i++)
		{
			cout << ret[i] << endl;
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

字符串排序(3)

在这里插入图片描述

vector<string> splitstr(string s,char c)
{
	s += c;//方法一 手动补齐末尾
	vector<string> ret;
	int begin = 0;
	int i = 0;
	for (i = 0;i < s.size();i++)
	{
		if (s[i] == c)
		{
			if (i != begin)
			{
				ret.push_back(s.substr(begin, i-begin));
				begin = i + 1;
			}
			else
			{
				begin++;
			}
		}
	}
	if (begin != i) { ret.push_back(s.substr(begin, i - begin)); }//方法2 判断最后一个字符是否为分割符
	return ret;
}
void fun10()
{
	while (1)
	{
		vector<string>ret;
		while (cin >> s)
		{
			ret = splitstr(s, ',');
			if (getchar() == '\n')
			{
				break;
			}
		}
		sort(ret.begin(), ret.end());
		for (int i = 0;i < ret.size();i++)
		{
			cout << ret[i] << endl;
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

字符串分割函数(处理结尾的两种方法)

,a,b,c,d, 返回 a b c d

vector<string> splitstr(string s,char c)
{
	s += c;//方法一 手动补齐末尾
	vector<string> ret;
	int begin = 0;
	int i = 0;
	for (i = 0;i < s.size();i++)
	{
		if (s[i] == c)
		{
			if (i != begin)
			{
				ret.push_back(s.substr(begin, i-begin));
				begin = i + 1;
			}
			else
			{
				begin++;
			}
		}
	}
	//方法2 判断最后一个字符是否为分割符
	//if (begin != i) { ret.push_back(s.substr(begin, i - begin)); }
	return ret;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/586024
推荐阅读
相关标签
  

闽ICP备14008679号