代码部分
2-3
卡布列克运算
using System;
using System.Text;
class name
{
static bool isnum(string s)
{
try
{
int n = Convert.ToInt32(s);
}
catch
{
return false;
}
return true;
}
static void Main(string[] args)
{
Console.Write("请输入一个4位整数");
string s = Console.ReadLine();
if (isnum(s))
{
int num = Convert.ToInt32(s);
int max, min, i, j, temp;
while (num != 6174 && num != 0)
{
i = 0;
/* while (num != 0)
{
each[i++] = num % 10;
num = num / 10;
}*/
char[] charArray = num.ToString().ToCharArray();
int[] each =new int[charArray.Length];
for(int k = 0; k < charArray.Length; k++)
{
each[k] = int.Parse(charArray[k].ToString());
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3 - i; j++)
{
if (each[j] > each[j + 1])
{
temp = each[j];
each[j] = each[j + 1];
each[j + 1] = temp;
}
}
}
min = each[0] * 1000 + each[1] * 100 + each[2] * 10 + each[3];
max = each[3] * 1000 + each[2] * 100 + each[1] * 10 + each[0];
num = max - min;
Console.WriteLine("{0}-{1}={2}", max, min, num);
}
}
Console.ReadKey();
}
}
3-3
输入后使用掩码显示
using System;
using System.Collections.Generic;
using System.Text;
namespace SY3_3
{
class Program
{
class Card
{
public long cardNo;
decimal balance;
int currentNum;
static int number;
decimal[] currentMoney;
public Card()
{
currentMoney = new decimal[number];
}
public Card(long No, decimal Balance)
{
cardNo = No;
balance = Balance;
currentMoney = new decimal[number];
}
public void store(decimal Money, out int status)
{
if (currentNum == number)
{
status = 0;
return;//本卡已达当日允许的业务次数
}
if (balance + Money < 0)
{
status = -1;
return;
}
currentMoney[currentNum] = Money;
balance += Money;
currentNum++;
status = 1;
}
public void show()
{
Console.WriteLine("卡号:{0},当前余额:{1},当日发生业务的次数:{2}", cardNo, balance, currentNum);
for (int i = 0; i < currentNum; i++)
Console.WriteLine("当时存款/取款的情况:{0}", currentMoney[i]);
}
static public int Number
{
set
{
number = value;
}
}
public long CardNo
{
get
{
return cardNo;
}
}
}
public class Test3_3
{
static void Main(string[] args)
{
Test3_3 T = new Test3_3();
Card[] person;
int Num, status, k;
long CardNo;
decimal Balance, Money;
Console.Write("请输入允许当日存款或取款的总次数:");
string sline = Console.ReadLine();
Card.Number = int.Parse(sline);
Console.Write("请输入某银行发出的储蓄卡总数:");
sline = Console.ReadLine();
Num = int.Parse(sline);
person = new Card[Num];
for (int i = 0; i < Num; i++)
{
Console.Write("请输入卡号:");
sline = Console.ReadLine();
CardNo = long.Parse(sline);
Console.Write("请输入{0}账户余额:", CardNo);
sline = Console.ReadLine();
Balance = decimal.Parse(sline);
person[i] = new Card(CardNo, Balance);
}
while (true)//进行存取款 业务处理
{
Console.WriteLine("现在正进行存款取款的业务处理,如果输入的卡号<0,则结束业务处理");
Console.Write("请输入卡号:");
sline = Console.ReadLine();
CardNo = long.Parse(sline);
if (CardNo < 0)
break;
k = T.Locate(person, CardNo);
if (k == -1)
{
Console.WriteLine("对不起,不存在{0}号的存储卡", CardNo);
continue;
}
Console.WriteLine("请输入卡金额(正值代表存款,负值代表取款):");
sline = Console.ReadLine();
Money = decimal.Parse(sline);
person[k].store(Money, out status);
switch (status)
{
case -1:
Console.WriteLine("存款余额不足,不能完成本次的取款业务");
break;
case 0:
Console.WriteLine("本卡已达当日允许的业务次数");
break;
case 1:
Console.WriteLine("成功处理完当前业务");
person[k].show();
break;
}
}
}
int Locate(Card[] person, long CardNo)
{
int i;
for (i = 0; i < person.Length; i++)
if (person[i].cardNo == CardNo)
return i;
return -1;
}
}
}
}
}
}
4-2 水果类
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace 试验4__2
{
public class Frult
{
public virtual string Name
{
get { return ("Frult"); }
}
}
public class Apple : Frult
{
public override string Name
{
get
{
return ("Apple");
}
}
}
public class Orange : Frult
{
public override string Name
{
get { return ("Orange"); }
}
}
public class Banana : Frult
{
public override string Name
{
get
{
return ("Banana");
}
}
}
public class FrultBasket : IEnumerable
{
static int Max = 10;
Frult[] basket = new Frult[Max];
int count = 0;
internal Frult this[int index]
{
get { return (basket[index]); }
set { basket[index] = value; }
}
internal int Count
{
get { return (count); }
}
public void Add(Frult frult)
{
if (count > Max)
{
Console.WriteLine("超出水果筐容量!");
}
basket[count++] = frult;
}
public IEnumerator GetEnumerator()
{
return (new FrultBasketEnumerator(this));
}
}
public class FrultBasketEnumerator : IEnumerator
{
FrultBasket frultBasket;
int index;
public void Reset()
{
index = -1;
}
public object Current
{
get { return (frultBasket[index]); }
}
public bool MoveNext()
{
if (++index >= frultBasket.Count)
return false;
else
return true;
}
internal FrultBasketEnumerator(FrultBasket frultBasket)
{
this.frultBasket = frultBasket;
Reset();
}
}
class Program
{
static void Main(string[] args)
{
FrultBasket frultBasket = new FrultBasket();
Console.WriteLine("Adding a Banana");
frultBasket.Add(new Banana());
Console.WriteLine("Adding a Apple");
frultBasket.Add(new Apple());
Console.WriteLine("");
Console.WriteLine("The basket is holding!");
foreach (Frult frult in frultBasket)
{
Console.WriteLine("a(n)" + frult.Name);
}
Console.Read();
}
}
}