用c语言编写把20个姓名按姓氏的先后顺序排序的程序,姓只有赵,钱,孙,李

用c语言编写把20个姓名按姓氏的先后顺序排序的程序,姓只有赵,钱,孙,李,第1张

是这个意思?

//#include "stdafx.h"//vc++6.0加上这一行.

#include "stdio.h"

#include "string.h"

int main(void){

    char x[21][11]={"赵一丁","李二来","孙三小","钱汉荣","李小妹","赵荣宝","钱守仁","赵国荣","孙子义","李卜一","孙三国","赵一男","钱好礼","赵三萌","孙七妹","钱五杏","赵腾飞","钱美美","孙小良","李一梅",""}

    char t[4][3]={"赵","钱","孙","李"},i,j,k

    for(k=i=0i<4i++)

        for(j=0j<20j++)

            if(x[j][0]==t[i][0] && x[j][1]==t[i][1]){

                strcpy(x[20],x[k])

                strcpy(x[k++],x[j])

                strcpy(x[j],x[20])

            }

    for(i=0i<20printf("%s ",x[i++]))

    printf("\n")

    return 0

}

#include <string>

#include <iostream>

#include <algorithm>

#include <vector>

using namespace std

string first_name[]={"赵","钱","孙","李"}

struct node

{

int id//姓氏id,以方便利用此进行姓氏排序

string name//姓名

void operator = (const node &a)// *** 作符重载,这里也没用到,所以下面的也不用说了。

node():id(0),name(""){}

}

void node::operator =(const node &a)

{

this->id = a.id

this->name = a.name

}

//这是sort函数用到的比较函数cmp,如果a <b则返回真,否则返回假,sort函数就是

//根据这个来进行排序的。

bool cmp(const node &a, const node &b)

{

//如果姓氏相同,进行名的比较

if (a.name.substr(0, 2) == b.name.substr(0, 2))

return a.name <b.name

//否则利用id比较哪个姓氏靠前

else

return a.id <b.id

}

int main()

{

//freopen("d:\\1.txt", "r",stdin)

size_t n, i

int id

string str

node names[30]

cout<<"输入多少个姓名?"<<endl

cin>>n

cout<<"请输入"<<n<<"个姓名"<<endl

//先进行输入 *** 作,这个不用解释吧。

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

cin>>str

names[i].name = str

//根据姓氏给id赋值

for (id = 0id <4++id) {

if (first_name[id] == str.substr(0, 2)) {

names[i].id = id

}

}

}

/*for (i = 0i <n++i)

cout<<names[i].name<<" "<<names[i].id<<endl*/

//对names数组按照比较函数cmp进行排序,这也就是最主要的一步

sort(names, names + n, cmp)

//输出排序结果

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

cout<<names[i].name<<endl

return 0

}

我是大四的学生,我以自己过二级C,三级网络技术来简单谈点,希望对你有帮助。 首先,你得会一门编程语言,比如C,或者VB等。这个教材,我当时用的是清华大学出版社的《C语言程序设计》,还带课后题答案。 第二,一定要做题。买办或者借本笔试题是很有必要的,不然你无法适应题目的类型。不经过练习,笔试挂了也不好。 第三,做南开的一百题,上面有一百套C编程试题,每年都是考上面的,这个在网络上有,可以下载。 这个网站值得推介,有很多资料的,你不妨试试 一切贵在坚持,加油 一、对于笔试: 二级VB考试的考题内容很细,没有复杂的算法题,最多只是一些看起来复杂(其实很有规律)的循环题。那么,我们要做的是: 1:按照大纲读懂(理解)教材上的的内容。 2:做一些历年的考试题目,根据作者的经验,每年的考题中都会有一些重复或相似的考题。当然最主要的是做完最近几年的几套考题后,自己就会对考试内容“胸有成竹”,自然就会知道哪是重点,哪些该复习,有的放矢。 3:针对特殊题型和重点内容做题。 二、对于机试: 两个字,做题。可以把过去两到四次内的考题拿过来做。 当然,我们在做题是要端正心态,因为谁也不敢保证您将来考的一定会在您现在做的题(当然总有那么一半的人有这运气,呵呵),做题是因为一门课程内容太多,做题可以帮助理解,毕竟考题很活。 简单分析一下: 基本 *** 作(30分两小题):考核重点一般集中在:工程新建与保存、控件的一些基本属性的设置(如:名称、标题、大小、位置、值等)、基本方法的使用(如:Print等) 简单应用(40分两小题):考核重点一般集中在:简单算法(如:求最大数、素数、排序等)、通过代码窗口 *** 作对象属性、控件数组的建立与通过循环访问等。 综合应用(30分一小题):考核重点一般集中在:顺序文件的读写 *** 作、读文件一般都会用到循环或数组。 一、关于计算机二级考试的目的及内容 计算机二级考试内容包括 C 语言, Q Basic , Foxbase, Visual FoxPro 和 Visual Basic 。考生从中选出一项作为考试项目。考试分两部分,上机和笔试。笔试就是一些基本的 *** 作方法,编程方法,上机就是要亲自编程。报名时可以购买复习资料,包括:考试大纲,二级教材以及模拟考试光盘。听起来好像挺玄,其实考试方式以及内容都是极其简单的 —— 如果真的仔细看过复习资料。 二、计算机二级考试的准备过程 可以说,有了模拟考试的光盘,弄懂并且做熟练了以后,最后的上机考试就变成了完全没有意义的反射运动了。 关键是要肯拿出一点时间来练习。 计算机等级考试的报名时间大约是每年的 1 月和 6 月,分别对应 4 月和 9 月的考试。我选择的是第一次进入考试内容的 Visual Basic 。因为以前多少在计算机课上学过一点,对其内容和界面有所了解。大三结束放暑假前,我下定决心一定要在这个暑假里攻破二级的 VB 。真到放假了才知道放假前立下的宏志实在是很脆弱。放暑假后没几天我就跑到成都玩去了:那里有太多吸引我的东西:山水,小吃,还有朋友。临行前我还装模作样地往行李中放了一本二级教材,结果那个东西除了用来夹了几张我的照片以外就再没有发挥任何作用。 八月中旬后我才算是能安下心来准备那倒霉的考试了,打开书,我一页一页仔仔细细地看了一遍,对每一章每一节的 课后习题也作了思考。半个月过去了,其实中间也有偷懒了的几天,不过一本书算是看完了,感觉豁然开朗。于是开学以后放下书本,做了做模拟光盘。上机编程部分的题目完全说不上难,模拟题比数学的练习题要简单得多。但是总是在软件判分的时候得不到好的结果。仔细察看才知道,原来只有自己编的程序和所谓 " 正确答案 " 一模一样的,才能得到满分。但是,编写程序完全可以有不同的方法得到相同的结果。这下我知道了为什么上机考试如此困难了。应对的方法就只有 仔细分析所给的答案,体会出一些技巧和规律性的东西,通过考试应该是完全没有问题的。可以说,有了模拟考试的光盘,弄懂并且做熟练了以后,最后的上机考试就变成了完全没有意义的反射运动了。 关键是要肯拿出一点时间来练习。 三、考试实战篇 先说笔试 。包括选择和填空,都是一些基本的概念和编程方法。只要仔细地看过一遍书的人,笔试决不会出现不能通过的现象。我所知道的一些参加过考试的人也普遍认为笔试是很容易的。我进入考场的时候很镇静,看到卷子以后放眼望去都是自己十分熟悉的名词和内容,做起来也十分顺手。做的时候还是要认真的,不可轻敌。考场上一片寂静,大家都奋笔疾书,埋头苦干。考试时间过了不到一半,我已经将所有题做完了。我耐心地坐在位子上从头到尾检查了一遍,此时离考试结束时间还太远,我等不及了,于是交了卷子,离开了教室。两个字 —— 不难。 再说上机考试 。现在考场外领取考试座位号,听老师叙述考试规则,然后进入考场。每人一台电脑,题目从题库中随机抽取,每人题目各不相同,所以监考老师任务并不重。但是这也就造成了考场气氛比较混乱,少不了周围的人都在交头接耳。克服这种混乱的干扰,集中精力在自己的题目上是很必要的。考试开始,我比较小心地开始做题,要尽量按照模拟考试光盘答案的思路。不过题型是熟悉得不能再熟悉了,和光盘上的没什么两样。我三下五除二就把八道题做完了。两个小时的考试,我四十分钟就走出考场。其中一个监考老师走出来叫住我,我还想呢,我没有违反考试纪律啊,他却和蔼地走上来问我复习的经验等等。其实我也没什么经验,就是看书,做题 四、总结篇 很多考试都是有缺陷的 —— 这个计算机二级考试也包括在内。但是想要侥幸蒙混过关,恐怕没有那么容易。 也许诸位看到上面会觉得我说得过于狂妄。的确,我去看成绩的时候,一张分数表格上面,有百分之七八十以上都有笔试或者上机某项没有通过。但是,这些没有通过的人一定没有重视,至少是没有花上几天时间来认真准备这个考试。其实从以上的文章中读者可以看出,我对我自己参加这个考试其实并没有什么正面的评价,但是我确实仔字细细地准备了。 实际上,只要看过书,做过模拟考试光盘的人都会有同感:有了这些复习资料,最后的考试已经变得毫无悬念了 —— 不过是一场很平常的小练习而已


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

原文地址: http://outofmemory.cn/yw/11836379.html

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

发表评论

登录后才能评论

评论列表(0条)

保存