原题目
题目描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的正方形图案。
输入描述:
多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数
输出描述:
针对每行输入,输出用“”组成的对应边长的正方形,每个“*”后面有一个空格。
示例1
输入
复制
4
输出
示例2
输入
5
输出
复制
代码如下
#include<iostream>
using namespace std;
int main(){
int i,j;
int n;
while(cin>>n){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cout<<"* ";
}
cout<<endl;
}
}
return 0;
}
解题思路:
本题要求给你一个数,然后输出以这个数为边长的正方形,即这个正方形由n行n列的星号组成,且每个星号之间有一个空格。由此可以想到以前的题目,给你一行数,然后把他变成m行n列,即从第一个数开始,从(0,0)开始依次输入一直到(m-1,n-1)。那么这个题就好解决了。那么就是一个n行n列的二维数组,这个数组不在输入数字,而是都输入星号。
在我的代码中 j 表示的是列 i 表示的是行,每一行输入“*”,当到了n列后,换行,即用“cout<<endl;”来换行,当然,这个应在 i 的循环中。
当然,一开始这个题只有80%的正确,在读题之后,发现为多组输入,即用while循环输入!!!