✏️ 纠错
第 251 题 / 共 301 题
第10题 为实现如下效果,即N行N列字符。当输入是奇数时,中间列为*,其他是-;当输入是偶数时,则中间两列是*,其他是-。字符阵列后的代码能实现其效果。()
示例效果(输入5时):
--*--
--*--
--*--
--*--
--*--
代码:
int N;
cin >> N;
int i,j;
for (i = 0; i < N; i++){
for (j = 0; j < N; j++)
if ((j == N / 2) || (j == (N-1) / 2))
cout << "*";
else
cout << "-";
cout << endl;
}
示例效果(输入5时):
--*--
--*--
--*--
--*--
--*--
代码:
int N;
cin >> N;
int i,j;
for (i = 0; i < N; i++){
for (j = 0; j < N; j++)
if ((j == N / 2) || (j == (N-1) / 2))
cout << "*";
else
cout << "-";
cout << endl;
}
你真棒!
📝 题目解析
【参考答案】正确
【答案解析】当N为奇数时,N/2和(N-1)/2相等(例如N=5, N/2=2, (N-1)/2=2),所以只有中间一列是*。 当 N为偶数时,N/2和(N-1)/2不相等且相邻(例如N=4, N/2=2, (N-1)/2=1),所以中间两列是*。 其余为 -。代码逻辑正确