Description wth 的电脑里存储了一些老照片,虽然这些照片有些模糊,但是 wth 很喜欢它们,因为这些照片都是儿时的回忆。现在他上了大学,他想用学到的编程知识来将这些模糊的照片放大,可是他很菜,尝试了两年都未能实现。这几天,wth 向他非常厉害的队友也就是 zr 学姐寻求帮助,只可惜 zr 学姐被勤奋好学的 21 级同学们缠住了。wth 很伤心,所以他现在决定把这个问题抛给 21 级同学们。
wth 的照片可描述为一个 n*m 的矩形网格,每个格子上有一个字符,他希望你们能将它放大 k 倍后显示出来。例如一张 2*3 的照片:
Zr~ xj!
放大 2 倍后的结果:
ZZrr~~ ZZrr~~ xxjj!! xxjj!!
也就是说,一张照片放大 k 倍,它的每一个格子上的字符都会变成 x*x 的网格。一张 n*m 的照片放大 k 倍后,会变成一张 (n*k)*(m*k) 的照片。
有 T 组数据。
Input 输入数据一共有 T 组,第一行是一个整数 T (1 ≤ T ≤ 10),表示有 T 组数据。
对于每组数据:第一行是 3 个由空格隔开的整数 n, m, k(1 ≤ n, m ≤ 100, 1 ≤ k ≤ 10)。之后的 n 行,每行一个由 m 个字符组成的字符串,字符都是 ASCII 码表中除空格外的可见字符(ASCII 码表中可见字符对应的 ASCII 值范围是 32 到 126,32 是空格,也就是说 ASCII 码表中除空格外的可见字符的 ASCII 码值范围是 33 到 126)。
Output 对于每组数据,请按照题意输出放大 k 倍后的照片。
每输出一行,都应该有一个换行。
Sample Input 1
2 3 3
Zr~
xj!Sample Output ZZZrrr~~~
ZZZrrr~~~
ZZZrrr~~~
xxxjjj!!!
xxxjjj!!!
xxxjjj!!!Source 20211016
分析 水题,主要思考在放大n倍就是位置➗n这个很好想,但是我在写代码时不会c导致在定义的char 数组可以用%s输出这里盲了,把这道题写得很复杂,后来知道后精简了代码,发现巨水
#include <iostream> using namespace std; int main() {char s[105][105];int n,x,y,z;scanf("%d",&n);while(n--){scanf("%d%d%d",&x,&y,&z);for(int i=0;i<x;i++){scanf("%s",s[i]);}for(int i=0;i<x*z;i++){for(int j=0;j<y*z;j++){printf("%c",s[i/z][j/z]);}printf("\n");}}return 0; }
总结,基础真的很重要,刚学c和c++基本上这两个总弄混,只会记函数,一直在c++的结构里写