您好我是编程新手,我的任务是输出形状。第一个是广场:
int main(){
unsigned size;
cout <<"Size: ? ";
cin >>size;
for ( unsigned r = 0; r < size; r++ ){ // Square
for ( unsigned c = 0; c < size ; c++ )
if ( r == c )
cout <<'*';
cout <<endl;
}
cout <<endl;
}
当我输入&#34; 5&#34;提示后。输出结果为: 5
*
*
*
*
*
有人能解释我的代码有什么问题吗?我需要有水平和垂直输出。谢谢
答案 0 :(得分:1)
当r与c相同时,您只在对角线上输出*。除了一些终点线之外,你只输出其他内容,所以你最终每行只有一颗星。
答案 1 :(得分:0)
只有时间打印*是r == c。 if语句的目的是什么? 尝试评论if语句并查看结果。
答案 2 :(得分:0)
#include <iostream> using namespace std; int main(){ unsigned size; bool solid = true; //solid or hollow shape? cout <<"Size: ? "; cin >>size; size = 5; cout << endl; for ( unsigned r = 0; r < size; r++ ){ // Square for ( unsigned c = 0; c < size ; c++ ){ if(solid){ cout << " * "; } else{ if(r == 0 || r == size-1 || c == 0 or c == size-1){ cout << " * "; } else{ cout << " "; } } } cout <<endl; } cout <<endl; }
Output Hollow:
* * * * * * * * * * * * * * * *
固体:
* * * * * * * * * * * * * * * * * * * * * * * * *