C++蓝桥杯基础篇(四)

片头

嗨~小伙伴们,大家好!今天我们来学习C++蓝桥杯基础篇(四),继续练习相关习题。准备好了吗?咱们开始咯~


题目1  连续整数相加

思路分析:

这道题,我们可以把从键盘中读取n写在while循环条件里面,while(cin >> n),题目中明确指出:如果读入的n为0或者负数,则继续读取数字直至读入n值为正整数为止。因此,只要 n<=0,我们就不停的读取n,不作任何处理。

while循环条件应为:while(cin >> n,n<=0); 只要 n>0,立马跳出循环,作后续判断。

代码如下:

//连续整数相加
//读入2个整数值a和n,计算从a开始的n个连续整数的和
//注意,如果读入的n为0或为负数,则继续读取数字直至读入n值为正整数为止
//输入共一行,包含整数a和若干个整数n
//输出一个整数,表示从a开始的n个连续整数的和


int main() {
	int a;
	cin >> a;

	int n;
	while (cin >> n , n <= 0);   //此处执行语句为空语句

	int sum = a;
	for (int i = 1; i < n; i++) {
		sum += a + i;
	}

	cout << "从 "<<a<<" 开始的 "<< n << " 个连续整数的和为: " << sum << endl;
	return 0;
}

题目2  约数

代码如下:

//约数
//输入1个整数n,按照从小到大的顺序输出它的全部约数、
//输入一个整数n
//输出全部约数,每个约数占1行

int main() {
	int n;
	cin >> n;

	for (int i = 1; i < n; i++) {
		if (n % i == 0)            //如果 n % i == 0,说明n可以被i整除
			cout << i << endl;
	}

	return 0;
}

题目3  PUM

思路分析:

题目要求说,构造一个n行m列的矩阵,我们可以使用循环嵌套:

①外层的for循环控制行数,里面的for循环控制列数。

②定义变量k,表示矩阵中的数字。

③规定将每行的最后一个数字变为PUM,则里面的for循环的取值范围 0~m-2,从第0列~第m-2列,数字k都可在矩阵中出现。

④第m-1列,打印"PUM",打印完毕后,k自动加1。每打印完一行,执行换行操作。

代码如下:

//PUM
//输入2个整数n和m,构造一个n行m列的数字矩阵
//矩阵中的数字从第一行到最后一行
//按从左到右的顺序依次为 1,2,3,4,...,n*m
//矩阵构造完成后,将每行的最后一个数字变为PUM
//输出最终矩阵

int main3() {
	int n, m;
	cin >> n >> m;

	for (int i = 0, k = 1; i < n; i++)        //打印n行,i的取值范围 0~n-1
	{
		for (int j = 0; j < m-1; j++, k++)    //打印m-1行,j的取值范围 0~m-2
		{
			cout << k << " ";
		}
		cout << "PUM" << endl;                //最后一列打印"PUM"
		k++;                                  //打印完毕后,k自动加1
	}
	return 0;
}

题目4  余数

代码如下:

//余数
//输入一个整数n
//请按顺序输出1~10000之间(不包括1~10000)的所有除以n余2的数字
//输入1个整数n
//输出所有满足条件的数字,从小到大每行输出1个


int main() {
	i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值