24-100221-按百家姓对姓名排序必威体育精装版.doc

24-100221-按百家姓对姓名排序必威体育精装版.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
24-100221-按百家姓对姓名排序必威体育精装版

河北工业大学计算机软件技术基础(VC)课程设计报告 学院 机械学院 班级 姓名______学号________成绩 __ ____ 一、题目: 按百家姓将姓名排序(24) 二、设计思路 1、总体设计 1)分析程序的功能: 本程序是为了实现按百家姓对姓名排序 2)系统总体结构: 主要思路是: 。 2、各功能模块的设计: 主要由三功能模块组成。具体是: (1)a.h:在其中声明函数 (2)main.cpp: 通过循环控制变量,对学生成绩进行输入和输出,以及选择结构的使用,实现不同函数功能的调用。 (3)xing.cpp:按姓进行排序。 (4)namesort.cpp:按名字进行排序。 3、设计中的主要困难及解决方案 1)困难1:从字符串中取出第一个字按姓排序。 解决方案:汉字在数组中存储占两个字节,把字符串的前两个元素赋给一个数组,并把这个数组的最后一个元素赋为’\0’,即可得到姓,然后即可按顺序排列。 2)困难2:对多文件的使用,即主函数和各个函数分别存放在不同的.cpp文件中。 解决方案:在头文件中进行声明,不能进行赋值运算,直接在主函数中进行赋值。 4、你所设计的程序最终完成的功能 1)对输入的姓名按百家姓进行排序。 2)准备的测试数据如下: 李丽 赵括 孙福 赵冬梅 赵国良 赵雪 赵迎专 赵倩 赵璐佳 钱潮 钱朋钊 钱现冲 钱心 孙君啸 孙巍 孙亚星 李彧 李福德 李景洋 李彦航 运行结果: 三、程序清单 (1)a.h文件清单: int getxing(char a[]); void xingsort(char name[20][10],char name_sort[20][10],int n,int k1,int k2,int k3,int k4); void namesort(char a[20][10],int m,int n); (2)main.cpp文件清单: # includeiostream.h # includestring.h # includeiomanip.h # includea.h void main() { const N=20; char xm[N][10]; cout请输入20个姓名: \n; for(int h=0;hN;h++) cin.getline(xm[h],10); //输入姓名 char xm_sort[20][10]; int i,k1,k2,k3,k4; xingsort(xm,xm_sort,20,k1,k2,k3,k4); //按姓名排序 if(k11) { namesort(xm_sort,0,k1); } if(k21) { namesort(xm_sort,k1,k1+k2); } if(k31) { namesort(xm_sort,k1+k2,k1+k2+k3); } if(k41) { namesort(xm_sort,k1+k2+k3,k1+k2+k3+k4); } //按名对姓名排序 cout排序后的结果:\n; for(i=0;i20;i++) coutxm_sort[i]\n; //输出排好后的姓名 } (3)xing.cpp文件清单: # includeiostream.h # includestring.h # includeiomanip.h #includea.h void xingsort(char xm[20][10],char xm_sort[20][10],int n,int k1,int k2,int k3,int k4) { int i,j,k; k1=0;k2=0;k3=0;k4=0; char xmsort1[20][10],xmsort2[20][10],xmsort3[20][10],xmsort4[20][10]; char d[3]; for(i=0;i20;i++) { for(j=0;j2;j++) d[j]=xm[i][j]; d[j]=\0; //把姓取出来 if(strcmp(d,赵)==0) k=1; else if(strcmp(d,钱)==0) k=2; else if(strcmp(d,孙)==0) k=3; else if(st

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档