C# 姓名排序

C# 姓名排序,第1张

你想问什么?如果想问这段代码的意思的话,我就说一下。

这段代码目的是,将需要排序的人的姓名年龄信息存放入列表persons里,然后将这些人按照姓名进行排序,然后根据这个顺序,依次在屏幕上输出他们的年龄。

如果不是这个问题的话,请你把你的问题补充到代码后面~

参考下面

#include <stdioh>

#include <stringh>

void input(char (p)[10],int n)

{

int i; //int

for(i=0;i<n;i++)

{

printf("input第%d个姓名:",i+1);

scanf("%s",&p[i]);

printf("\n");

}

}

void output(char (p)[10],int,n)

{

int i;

printf("排序之后为:");

for(i=0;i<n;i++)

{

printf("%s", p[i]);

printf("\n");

}

}

void sort(char (p)[10],int n)

{

int i,j;

char t[10];//----------------

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(strcmp(p[i],p[j])>0)

{

strcpy( t,p[i] );

strcpy( p[i],p[j] );

strcpy( p[j],t);

}

}

int main()

{

char s[4][10];

input(s,4);

sort(s,4);

output(s,4);

system("pause");

return 0;

}

map<string,int> msi;

bool cmp(const string &s1,const string &s2)

{

return (msi[s1]<msi[s2]);

}

int main()

{

string s1="赵";

string s2="钱";

string s3="孙";

string s4="李";

msi["赵"]=1;

msi["钱"]=2;

msi["孙"]=3;

msi["李"]=4;

string s11="钱";

string s22="赵";

string s33="李";

vector<string> vs;

vspush_back(s11);

vspush_back(s22);

vspush_back(s33);

sort(vsbegin(),vsend(),cmp);

for(vector<string>::iterator it=vsbegin();it!=vsend();++it)

cout << it << endl;

return 0;

}

代码如下。。。。。测试过了。。。希望能帮到你。。。。

#include<stdioh>

void main()

{

char name[10][20],temp[20];

int i,j,k;

for(i=0;i<10;i++){

printf("please input the %d name : ",(i+1));

scanf("%s",name[i]);

}

/将输入的10个名字排序/

for(i=0;i<9;i++){

for(j=i+1;j<10;j++){

if(strcmp(name[i],name[j])>0){

strcpy(temp,name[i]);

strcpy(name[i],name[j]);

strcpy(name[j],temp);

}

}

}

for(i=0;i<10;i++)

printf("%s\n",name[i]);

}

这里的要点在ASCII值,每个字母都有对应的ASCII值,所以只需比较姓名的ASCII值就可以了(如果按照abc的顺序排列就是按照ASCII值从小到大排列),

#include <stringh>

#include <iostreamh>

void main()

{

char str[4][10]={"ccc","aaa","bbb","ddd"};//定义四个字符串

char p[4];

for(int y=0;y<4;y++)

{

p[y]=str[y];

}

for(int i=0;i<3;i++)

{

for(int j=i+1;j<4;j++)

{

char temp[10];

if(p[i]>p[j])//比较str[i]和str[j]的ASCII值大小

{

temp[10]=p[i];//将str[i]赋给temp[10]

p[i]=p[j];

p[j]=temp[10];

}

}

}

for(int k=0;k<4;k++)

cout<<str[k]<<endl;

}

以上就是关于C# 姓名排序全部的内容,包括:C# 姓名排序、c语言利用指针将10个学生的姓名排序、按百家姓将姓名排序 怎么用c++编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10082538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存