任务九:
已知:电话号码
求arr数组和index数组
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Nine
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入电话号码:");
string mid = Console.ReadLine(); //输入电话号码
char[] arr = new char[mid.Length];//号码的不同位数的数组
int[] index = new int[mid.Length];//号码在arr数组中的下标
int j = 0;
//数字的不同位数
for (int i = 0; i < mid.Length; i++)
{
if (i == 0) //首先把号码的第一个数字储存到arr数组中
{
arr[j] = mid[i];
j++;
}
else
{
int z = 0;
for (z = 0; z < j; z++)
{
if (mid[i] == arr[z])//如果有重复的,就退出循环
break;
}
if (z == j)//如果没有重复的,就进行赋值
{
arr[j] = mid[i];
j++;
}
}
}
Array.Sort(arr);//字符串排序(从小到大)
Array.Reverse(arr); //反转
//位置,号码在arr数组中的下标
for(int i = 0; i < mid.Length; i++)
{
for(int z = 0; z < arr.Length; z++)// mid表示的是电话号码,电话号码的第几位看在arr数组当中的位置是那,并把下标记录下来,退出循环。
{
if (mid[i] == arr[z])
{
index[i] = z;
break;
}
}
}
Console.Write("电话号码的不同位数:");
Console.WriteLine(arr);
Console.Write("电话号码的下标数:");
for(int i=0;i<index.Length;i++)
{
Console.Write(index[i]);
}
//Array.Clear() 这个方法是将数组中一系列元素设置为空值
//Array.CopyTo() 这个方法是将原数组中的元素复制到目标数组当中
//Array.Reverse() 这个方法是反转一维数组的内容
//Array.Sort() 将一维数组排序,从小到大的顺序排
}
}
}