C++高手,按百家姓将姓名排序(解决加满分)
展开全部/已经实现所有创新目标
已经用visual c++2010测试,正确运行
代码简洁,算法简便易懂
希望能帮助你
完整代码如下
include
include
include
include
define NAMES 1000
using namespace std;void input(string nm[],int n)
{
for(int i=0;i!n;i+)
{
cin>>nm[i];}
}
void output(string nm[],int n)
{
ofstream out("Names.txt");for(int i=0;i;i+)
{
cout[i];out[i];}
out.close();}
int analyze(char x)
{
int i;string firstNm="赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦 \
尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘 \
葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛 \
雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾 \
孟平黄和穆萧尹;for(i=0;firstNm[i]!x;i+);return i;}
void sort(string nm[],int n)
{
string temp;for(int i=0;i;i+)
{
for(int j=i+1;j;j+)
{
if(analyze(nm[i][0])>analyze(nm[j][0]))
{
temp=nm[i];nm[i]=nm[j];nm[j]=temp;}
}
}
}
int main()
{
string names[NAMES];int n;cout请输入姓名个数:;cin>>n;input(names,n);sort(names,n);cout;output(names,n);system("pause");return 0;}
已经用visual c++2010测试,正确运行
代码简洁,算法简便易懂
希望能帮助你
完整代码如下
include
include
include
include
define NAMES 1000
using namespace std;void input(string nm[],int n)
{
for(int i=0;i!n;i+)
{
cin>>nm[i];}
}
void output(string nm[],int n)
{
ofstream out("Names.txt");for(int i=0;i;i+)
{
cout[i];out[i];}
out.close();}
int analyze(char x)
{
int i;string firstNm="赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦 \
尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘 \
葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛 \
雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾 \
孟平黄和穆萧尹;for(i=0;firstNm[i]!x;i+);return i;}
void sort(string nm[],int n)
{
string temp;for(int i=0;i;i+)
{
for(int j=i+1;j;j+)
{
if(analyze(nm[i][0])>analyze(nm[j][0]))
{
temp=nm[i];nm[i]=nm[j];nm[j]=temp;}
}
}
}
int main()
{
string names[NAMES];int n;cout请输入姓名个数:;cin>>n;input(names,n);sort(names,n);cout;output(names,n);system("pause");return 0;}
佚名
2024-12-22 18:54:25
类似问题(10)
-
佚名2024-12-22 20:26:13
问中国百家姓排名顺序
答 -
佚名2024-12-22 18:24:18
问百家姓的排序缘由
答《百家姓》是我国流行最长,流传最广的 一种蒙学教材。它的成书和普及要早于《三 字经》。据南宋学者王明清考证,该书前几个 姓氏的排列是有讲究的:赵是指赵宋,既然是...
-
佚名2024-12-22 14:10:57
问百家姓的排序及排列依据。
答《百家姓》各个姓氏排列次序不是以人口数量多少,而是以政治地位为准则。根据南宋学者王明清考证,“赵钱孙李”之所以是《百家姓》前四姓,是因为百家姓在北宋初年的吴越钱...
-
佚名2024-12-22 13:29:21
问按姓氏笔画排序与按姓氏笔划排序一样吗
答意思完全一样。‘’笔画‘’,原先叫‘’笔划‘’。好像是推行简化字与汉字标准化以后,就只使用‘’笔画‘’了,‘’笔划‘’就成了不规范的写法了。画字就是划(繁体)的...
-
佚名2024-12-22 08:00:00
问怎么用C++给姓名排序?
答这个按照百家姓排估计需要外加一个索引了,计算机是不知道那个姓在前,那个在后的,可以加个隐藏字段,用来他排序。名字按拼音是可以用strcmp函数比较的。
-
佚名2024-12-22 08:00:00
问按百家姓将姓名排序 怎么用c++编程
答map<string,int> msi;bool cmp(const string &s1,const string &s2){retur...
-
佚名2024-12-22 08:00:00
问将张,李,孙,王,马,楚这些姓氏按音序排列
答按音序排列为——楚、李、马、孙、王、张楚【C】、李【L】、马【M】、孙【S】、王【W】、张【Z】说明——【 】里面是汉字的音序。
-
佚名2024-12-22 08:00:00
问百家姓的先后顺序是按什么排列的
答没有具体的顺序,只为押韵易读易记,但是可能因为成书在宋朝吴越地区一带,所以宋朝皇帝赵姓、吴越国王的钱姓,其妃的孙姓,南唐国主的李姓被排在前面。
-
佚名2024-12-22 08:00:00
问百家姓排列顺序
答旧的按势 如:《百家姓》以“赵”姓打头,并非因为“赵”为天下...
-
佚名2024-12-22 08:00:00
问在EXCEL中可以将姓名按音序排列吗?
答EXCEL软件排序本身就是默认按音序排列的,请参照以下步骤进行操作。1、首先在电脑上用2007版excel软件打开目标文件。2、然后选中姓名所在的单元格,点击上...
风水
起名
网名
- 1 好听的成语当网名
- 2 和猛字有关的网名
- 3 吉木马叶网名
- 4 什么味少年起网名
- 5 网名 天涯过客
- 6 好听可爱的网名女生2字
- 7 好听的星星网名带符号
- 8 拍照人昵称
- 9 励志英文扣扣昵称女生
- 10 qq昵称带秋字的
说说
- 1 qq个性签名情侣
- 2 控制自己情绪个性签名
- 3 说说伤感烦
- 4 感情委屈的说说
- 5 停电的空间说说
- 6 形容自己已慢慢变老的说说
- 7 霸气男的朋友圈说说
- 8 宝宝妈妈想你的说说
- 9 被伤心的感受句子说说
- 10 说说幼儿园课程的基础有哪些