打印字符序列
printing character sequences
问题 使用两个字符:。(点(和*(星号(打印网格状图案。网格将具有 l 行、c 列,网格的每个方形元素的高度和宽度将等于 s。
此外,每个网格元素都有一个对角线。网格第一行中第一个正方形的对角线指向向下和右角 - 使用 \(反斜杠(字符打印它;而下一个对角线将指向右上角 - 使用/(斜杠(字符打印它。交替打印连续的对角线(请参阅下面的示例(。
输入
给定 t - 测试用例的数量,每个测试用例有三个正整数:l - 行数,c - 网格中的列数和 s - 单个方形元素的大小。
输出
对于每个测试用例,输出请求的模式(请查看示例(。在连续模式之间使用一个换行符。
例
Input:
3
3 1 2
4 4 1
2 5 2
Output:
****
*.*
*.*
****
*./*
*/.*
****
*.*
*.*
****
*********
**/**/*
*********
*/**/**
*********
**/**/*
*********
*/**/**
*********
****************
*.*./*.*./*.*
*.*/.*.*/.*.*
****************
*./*.*./*.*./*
*/.*.*/.*.*/.*
****************
我的解决方案:
#include <iostream>
using namespace std;
int main()
{
int i,j,k,l,c,s,t;
cin>>t;
k=0;
while(k<t)
{
cin>>l>>c>>s;
for(i=0;i<(s-1)*l;i++)
{
for(j=0;j<(s-1)*c;j++)
{
if(i==j)
cout<<'';
else
{
if(i%(s-1)==0||j%(s-1)==0)
cout<<'*';
else
{
if(i+j==(s-1))
cout<<'/';
else
cout<<'.';
}
}
}
cout<<"n";
}
k++;
}
return 0;
}
问题给出编译错误!!不知道为什么?
如果您注意到,cout<<'';
第二个'
的颜色不同。那是因为是一个逃避角色。它正在逃离
'
.每当您想使用反斜杠字符本身时,都需要将其更改为\
。
希望这有帮助!
相关文章:
- 无符号字符打印其 ASCII 值
- 我正在尝试为字符打印一些相应的值,但条件总是转到其他位置
- 为什么完整的字符串没有一次打印,但是当我尝试逐个字符打印时
- 延迟逐个字符打印单词
- C++:如何将 unicode 字符打印到文本文件
- 为什么 std::hex 没有特别用字符打印为十六进制?
- 使用 C++ 将 UTF8 字符打印到 Linux 控制台
- 如何在Windows上正确地将拉丁字符打印到C++控制台
- 使用线程根据起始字符打印出单词
- 每隔n个字符打印一行换行符
- C++奇怪的字符打印到屏幕上
- 将字符打印为整数
- C++ 将文本文件的单个字符打印到屏幕
- C++递归字符打印
- 使用WritePrinter API将中文字符打印到Line Printer
- c++ Unicode字符打印
- 将UTF-32字符打印到终端
- 使用cout将数组和字符打印到屏幕时出现意外结果
- 为重复字符打印星号的算法
- 用于循环字符打印