俊酱
2018-04-10 15:43
请求给于帮助
for(int i = 0;i<7;i++){
for(int j = 0;j<7;j++){
if(j==i||i+j==6){
Console.Write("o");
}else{
Console.Write(".");
}
}
Console.WriteLine();//换行
}
你这里是因为运算符的优先级关系,“-”运算符的优先级本来就要高于“==”运算符,把(8-x)的括号去掉就对了,希望能帮到你
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test01
{
class Program
{
static void Main(string[] args)
{
const int n = 7;
for (int y = 1; y <= n; y++)
{
for (int x = 1; x <= n; x++)
{
if (x == y || x == n - y + 1)
{
Console.Write("O");
}
else
{
Console.Write(".");
}
}
Console.WriteLine();
}
}
}
}
const n = 7
for(y =1~n){
for(x =1~n){
if(x==y || x==n-y+1){
output(0);
}
output(*);
}
Change line;
}
for(int x=1;x<=7;x++)//循环行数
{
for(int dot=1;dot<=7;dot++)//循环位数(位置从左到右为1234567)
{
if (dot == x || dot == (8 - x))//判定位置,因为0为对称位置,即8(最大位数)减当前位置可以得到之后位置。举个例子,第一行第一个0在1位,所以第二个0在(8-1)=7位。
Console.Write("O");
else
Console.Write(".");//其他位置打印“.”
}
Console.WriteLine();//换行
}
初学乍道,望各位大佬不吝赐教!
C#开发轻松入门
254118 学习 · 1459 问题
相似问题