using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using SystemThreadingTasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//英文字母的字典
string[] str = { "aA", "bB", "cV", "dD", "eE", "fF", "gG", "hH", "iI", "jJ", "kK", "lL", "mM", "nN", "oO", "pP", "qQ", "rR", "sS", "tT", "uU", "vV", "wW", "xX", "yY", "zZ" };
//请用户输入
ConsoleWriteLine("请输入要排序的字母");
string item = ConsoleReadLine();
//最终的排序使用
string[] s = new string[strLength];
//循环用户输入的数据
for (int i = 0; i < itemLength; i++)
{
//循环字典
for (int j = 0; j < strLength; j++)
{
//匹配当前循环到的数据在字典中的索引 因为字典是大小写一起出现的所以要匹配两个
if (item[i] == str[j][0] || item[i] == str[j][1])
{
//根据匹配到的索引放到准备好的数组中
s[j] += item[i]ToString();
}
}
}
//循环输出计算好的结果
for (int i = 0; i < sLength; i++)
{
//如果不等于null则输出
if (s[i] != null)
{
ConsoleWrite(s[i]);
};
}
ConsoleReadKey();
}
}
}
方法有些笨 请采纳
你说的近百个文档是指近百个工作表吧,想将近百个工作表进行排序,利用VAB就可以轻松搞定了,我帮你编了个VAB程序,你按如下方法执行就OK了,为防止数据丢失,建议你先将原文件进行备份。
1、打开该表格,在任意一个工作表标签上单击右键,点“查看代码”
2、在代码窗口中,单击菜单命令“插入”-“模块”,然后将下面的代码复制到模块窗口中(代码已经加入详细的注解,有基础的人应该一看就明白了):
Sub
工作表按字母排序()
Dim
ii
As
Long
Dim
总表数
As
Long
Dim
工作表名
As
String
总表数
=
SheetsCount
'在所有工作表之后插入一个新的工作表,用于处理工作表名称
SheetsAdd
after:=Sheets(总表数)
'将所有工作表的名称都读取到新工作表的A列
For
ii
=
1
To
总表数
Sheets(总表数
+
1)Cells(ii,
1)
=
Sheets(ii)Name
Next
ii
'接下来要将新表的A列按字母顺序排列
Sheets(总表数
+
1)Columns(1)Sort
Key1:=Sheets(总表数
+
1)Range("A1"),
Order1:=xlAscending,
Header:=xlGuess,
_
OrderCustom:=1,
MatchCase:=False,
Orientation:=xlTopToBottom,
SortMethod
_
:=xlPinYin,
DataOption1:=xlSortNormal
'将所有工作表的位置按照A列的名称重新调整
For
ii
=
1
To
总表数
工作表名
=
Sheets(总表数
+
1)Cells(ii,
1)
Sheets(工作表名)Move
before:=Sheets(ii)
Next
ii
'排序完毕,将新增的辅助表删除
Sheets(总表数
+
1)Delete
End
Sub
3、将光标定位到代码的任一处,然后按下F5执行代码,代码执行完毕后,会d出删除工作表的提示,不用担心,这个工作表是代码执行的时候临时新建的,排序完成后则需要将其删除,所以请放心单击“删除”按钮。这时关闭代码窗口,看看工作表是否已经排序好了。
4、排序完成后,刚才的代码就好象没用了,如果不需要了,可以在代码窗口中将新增的模块移除就行了。
#include <stdioh>
#define MAX 100
void sort(char str[])
{
char t;
int i,j,n;
n=strlen(str);
for(i=0;i<n-1;++i)
{
for(j=0;j<n-1-i;++j)
{
if(str[j]<str[j+1])
{
t=str[j];
str[j]=str[j+1];
str[j+1]=t;
}
}
}
}
int main(void)
{
char str[MAX];
gets(str);
sort(str);
puts(str);
return 0;
}
static void Main(string[] args)
{
const int size = 50;
ConsoleWriteLine("How many strings will be sort\nPlease input the num:");
int num = ConvertToUInt16(ConsoleReadLine());
string[] strarray = new string[size];//定义字符串数组
sort(strarray, num);
ConsoleReadKey();
}
static void sort(string[] str, int num)
{
ConsoleWriteLine("Please input the string:\n");//输入数据
for (int i = 0; i < num; i++)
{
ConsoleWriteLine("Input the No{0}", i + 1);
str[i] = ConsoleReadLine();
}
ConsoleWriteLine(" ______________________________________\n");//分割线
for (int j = 0; j < num; j++) //排序过程
for (int i = 0; i < num - j - 1; i++)
{
if (stringCompareOrdinal(str[i], str[i + 1]) > 0)
{
string temp = str[i];
str[i] = str[i + 1];
str[i + 1] = temp;
}
}
ConsoleWriteLine("After the Sort:");//输入排序之后的字符串
for (int i = 0; i < num; i++)
{
ConsoleWriteLine("{0}\n", str[i]);
}
}
#include <stdioh>
#include <stdlibh>
//申明链表
typedef struct node
{
char num;
struct node next;
}list;
void Bubble_sort(list L);//链表的冒泡排序
void Dis_list(list L);//遍历单链表
int main()
{
//建表
list r,s,p;
int n=26;//存储数据的个数
s=NULL;
for(int i='Z';i>='A';i--)
{
r=(list )malloc(sizeof(list));
r->num = i;
if(!s){s=r;p=s;}
p->next=r;
p=r;
}
p->next=NULL;
printf("排序前:\t");
Dis_list(s);
//排序
Bubble_sort(s);
printf("排序后:\t");
Dis_list(s);
return 0;
}
void Dis_list(list L)
{
list r;
r=L;
while(r!=NULL)
{
printf("%c\t",r->num);
r=r->next;
}
printf("\n");
}
void Bubble_sort(list L)
{
list r,s;
char temp;
for(r=L;r;r=r->next)
{
for(s=r;s;s=s->next)
{
if(r->num>s->num)
{
temp=r->num;
r->num=s->num;
s->num=temp;
}
}
}
}
以上就是关于c#程序 利用26个英文字母实现排序,可以重复例如10个a,排序长度要求10位。求详细源代码全部的内容,包括:c#程序 利用26个英文字母实现排序,可以重复例如10个a,排序长度要求10位。求详细源代码、EXCEL有近百个文档,怎么才能按照字母排序、c语言的程序设计 编程将一个字符数组中的字母,按由大到小的顺序进行排序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)