day 8

C++ 洛谷刷题 菜鸟

今日刷题也不算很难,但是对于循环结构的理解有很大帮助,我开始想的循环结构总是不那么完美,上程序一跑,就会发现中间的变量需要重新赋值,这次的题目使用二维数组比较多,多重循环操作,也不算很难,总之多debug几次,你也可以,废话不说,上我的代码
P6321 [COCI2006-2007#4] SKENER

#include<iostream>
#include<string.h>
const int N = 252;
const int n = 52;
using namespace std;
int main()
{
	int r,c,zr,zc;
	cin>>r>>c>>zr>>zc;
	int i,j,k,h;
	//k,h表示的为杂志中的字符二维数组的横纵坐标,i,j为放大镜的横纵坐标 
	char res[N][N];
	//定义了放大镜的横纵坐标 
	int a = zr; 
	int b = zc;
	char str[n][n];
	
	for(int i = 0;i<r;i++ )
	{
		for(int j = 0;j<c;j++)
		cin>>str[i][j];
	}
	j = i = k = h = 0;
	while(a<=(zr*r)&&k<r)
{
		
		while(i<a)
		{
			while(b <= (c*zc))
			{
				while(j<b)
				{
					res[i][j] = str[k][h];
					j++;
				}
				b = b+zc;
				h++;
			}
			i++;
		h = j = 0;
	 	b = zc;	
		}
		k++;
		a = a+zr;
	 	
}
	for(int i = 0;i<(r*zr);i++)
	{
		for(int j = 0;j<(c*zc);j++)
		{
			cout<<res[i][j];
		}
		cout<<endl;
	}
 } 

本题已通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值