蓝桥杯第一次训练赛题解

本文提供了蓝桥杯训练赛的题解,涉及A+B问题、复读机问题、删除数组中0元素、斜率计算、(3n+1)猜想、D进制加法及A^B等算法题目。每个题目包含题目描述、题目讲解及代码实现,适合算法初学者和参赛者复习使用。
摘要由CSDN通过智能技术生成

蓝桥杯第一次训练赛题解

A+B for Input-Output Practice (I)

题目描述

Description
计算A+B
程序设计任务中常常会包含多组输入输出。
Input
第一行一个正整数n,代表输入数据的组数。
以下n行,每行两个正整数
Output
计算这n组数的和,每组答案占一行
Sample Input
2
1 5
10 20
Sample Output
6
30

代码
#include <bits/stdc++.h>
using namespace std;
int n, a, b;

int main() {
   
	scanf("%d", &n);
	while (n--) {
    //for(int i=1;i<=n;++i)
		scanf("%d%d", &a, &b);
		printf("%d\n", a + b);
	}
	return 0;
}

复读机 for Input-Output Practice (V)

题目描述

Description
所谓复读机,那就是复读,就是复读,就是复读,就是复读…
Input
第一行包括一个正整数T,表示输入数据组数。(1 < T < 10)

每一组输入数据为长度不超过20的一句话。

Output
对于每组输入,原样输出输入的内容。
Sample Input

3
Hello World!
I love NCST!
I love ACM!

Sample Output

Hello World!
I love NCST!
I love ACM!

题目讲解

scanf语句在接收字符串的时候遇到空格和回车会自动结束并且空格和回车还遗留在缓冲区内。但是使用%[]可以用来进行多个字符的输入,并对结束符进行自定义。例如

scanf("%[^\n]",src);//直到输入回车键,读取才结束,当然不能超过a定义的大小,否则会出错。

当然这种方法并不常用。
gets()语句遇到空格不停止,遇到回车停止。
也可以使用getline(cin,s)这样的方式接收字符串。

代码
#include <bits/stdc++.h>
using namespace std;
int T;
char s[200];
string ss;

int main() {
   
	scanf("%d", &T);
	getchar();
	while (T--) {
    //for(int i=1;i<=n;++i)
		//	cin.getline(s, 20);
//		cout << s << 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值