本帖最后由 菜鸟励志要逆袭 于 2013-7-2 20:57 编辑
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test7
{ ///<summary>
///有1、2、3、4 四个数字,编程实现能组成多少个互不相同且无重复数字的三位数?都是多少?
///</summary>>
class Program
{
static void Main(string[] args)
{
Program P = new Program();
int n;
n = P.result(out n);
Console.WriteLine("1 2 3 4能组成的互不相同且无重复数字的三位数个数为:");
Console.WriteLine(n);
int[] resultArray = new int[n];
P.printArray(resultArray);
Console.WriteLine("满足条件的数字如下:");
for (int i = 0; i < resultArray.Length; i++)
{
Console.Write(resultArray+"\t");
}
Console.ReadKey();
}
#region 返回能组成题目数字的个数
int result(out int n)
{
n = 0;
int[] intArray = new int[4] { 1, 2, 3, 4 };
//进行三次循环,来确定满足题目要求的数字个数
for (int i = 0; i < intArray.Length; i++)
{
for (int j = 0; j < intArray.Length; j++)
{
for (int k = 0; k < intArray.Length; k++)
{
if ((intArray != intArray[j]) && (intArray[j] != intArray[k]) && (intArray != intArray[k]))
n++;
}
}
}
return n;
}
#endregion
#region 把满足要求的数字放到一个数组中
//三次循环,来把满足要求的数字存放到一个数组中,然后返回这个数组
int[] printArray(int[] resultArray)
{
int[] intArray = new int[4] { 1, 2, 3, 4 };
int n = 0;
for (int i = 0; i < intArray.Length; i++)
{
for (int j = 0; j < intArray.Length; j++)
{
for (int k = 0; k < intArray.Length; k++)
{
if ((intArray != intArray[j]) && (intArray[j] != intArray[k]) && (intArray != intArray[k]))
{
resultArray[n] = intArray * 100 + intArray[j] * 10 + intArray[k];
n++;
}
}
}
}
return resultArray;
}
#endregion
}
}
|