C#编程:1.用*在控制台中输出菱形;2.猜数字。

1、在控制台中打印输出下列图形(图形由星号*和空格组成),要求由用户输入行数。请输入图形的行数:7****************2、猜数字游戏:由计算机生成一个4位数,... 1、 在控制台中打印输出下列图形(图形由星号*和空格组成),要求由用户输入行数。
请输入图形的行数:7
*
* *
* * *
* * * *
* * *
* *
*
2、 猜数字游戏:由计算机生成一个4位数,每位数字各不相同(如:1234。1123则是错误的),用户输入数字进行猜测,计算机对比正确答案。如果用户猜中4位数中包含的数字,但位置不对,则B计数器累加一;如果用户猜中4位数中包含的数字,且位置正确,否则A计数器累加一。最后,计算器显示A、B计数器的统计结果。不断进行循环,直到用户猜测出正确结果,或者用户猜测的次数超过7次,则中断循环,显示正确结果。

如:计算生成的数字为1234
请输入第1次猜测的数字:5678
猜测结果:A-0,B-0
请输入第2次猜测的数字:3456
猜测结果:A-0,B-2
请输入第3次猜测的数字:7834
猜测结果:A-2,B-0
请输入第4次猜测的数字:1034
猜测结果:A-3,B-0
请输入第5次猜测的数字:1234
猜测结果:A-4,B-0
猜中了!正确答案是1234。
如果用户猜测次数超过7次,则显示:
很遗憾,猜测超过7次,游戏结束。正确答案是1234。

C#...求高人帮助啊...
展开
 我来答
wm某某
推荐于2016-10-16
知道答主
回答量:1
采纳率:0%
帮助的人:2.8万
展开全部
第一个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int a, i;//a是总行数,i用来控制行数小于总行数,j用来控制每行的*和空格的输出。
Console.Write("请输入菱形总行数:");
a = Convert.ToInt32(Console.ReadLine());

if (a % 2 == 0)
{
Console.Write("输入错误,请输入奇数:");
a = Convert.ToInt32(Console.ReadLine());
}
else
{

for (i = 1; i <= a; i++)
{
if (i <= (a + 1) / 2)
{
for (int j = 0; j < (a + 1) / 2 - i; j++)
{
Console.Write(" ");
}
for (int j = 0; j < i; j++)
{
Console.Write("* ");
}
Console.WriteLine();
}
else
{
for (int j = 0; j < i - (a + 1) / 2; j++)
{
Console.Write(" ");
}
for (int j = 0; j < a + 1 - i; j++)
{
Console.Write("* ");
}
Console.WriteLine();
}
}
Console.ReadLine();
}
}
}
}

第二个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 猜数字
{
class Program
{
static void Main(string[] args)
{
int guessCount = 10;
List<int> list = new List<int>();
for (int i = 0; i < 10; i++)
{
list.Add(i);
}
Random random = new Random();
int first = random.Next(9) + 1;
int second = random.Next(9);
int third = random.Next(8);
int fourth = random.Next(7);
int number = list[first] * 1000;
list.RemoveAt(first);
number += list[second] * 100;
list.RemoveAt(second);
number += list[third] * 10;
list.RemoveAt(third);
number += list[fourth];
list.RemoveAt(fourth);
string systemNumber = number.ToString();
while (guessCount > 0)
{
Console.Write("请输入4位数字:");
string input = Console.ReadLine();
int inputNumber = 0;
int A = 0;
int B = 0;
if (int.TryParse(input, out inputNumber)
&& inputNumber.ToString().Length == 4)
{
string guessNumber = inputNumber.ToString();
if (guessNumber[0].Equals(guessNumber[1])
|| guessNumber[0].Equals(guessNumber[2])
|| guessNumber[0].Equals(guessNumber[3]))
{
Console.WriteLine("不能输入有重复的数字!\n");
continue;
}
for (int i = 0; i < 4; i++)
{
if (systemNumber.Contains(guessNumber[i]))
{
B++;
}
if (systemNumber[i].Equals(guessNumber[i]))
{
A++;
}
}
}
else
{
Console.WriteLine("输入的不是四位数字!\n");
continue;
}
if (A == 4)
{
Console.WriteLine("恭喜你猜对了!");
break;
}
else
{
Console.WriteLine("猜对数字的个数为" + B + ",猜对位置的个数是" + A);
}
guessCount--;
if (guessCount == 0)
{
Console.WriteLine("没有机会了!正确答案为:" + systemNumber);
}
else
{
Console.WriteLine("还剩" + guessCount + "次机会\n");
}
}

}
}
}
匿名用户
2011-09-27
展开全部
差不多就是这样了 呵呵
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入要打印的行数(奇数):");
int n = Convert.ToInt32(Console.ReadLine()) / 2 + 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n - i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}

for (int i = 1; i < n; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= (2 * n - 1) - 2 * i; k++)
{
Console.Write("*");
}
Console.WriteLine();
}

}
}
}
追问
不是啊...每一行上的星号间都是有空格隔开的....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式