1 /*
2 2 功能Function Description: 解决老师给的问题;
3 3 开发环境Environment: DEV C++ 4.9.9.1
4 4 技术特点Technique:
5 5 版本Version:
6 6 作者Author: 遥感专业赵杰迪
7 7 日期Date: 20121114
8 8 备注Notes: 主要纠结与随机数怎样产生,后来发现产生的是伪随机数,在网上查了下,就好了;
9 9
10 15 */
11
12 #include<stdio.h>
13 #include<string.h>
14 #include<windows.h>
15 #include<algorithm>
16 #include<stdlib.h>
17 ////////////////////////////////////////////////////////////////////////////////////////////////////////////
18 char name[31][7]={"黄双燕","孙欣欣","吴明阳"," ","张梦娜","白胜富","陈良宇","高小旭","苟继承","韩冬冬",
19 "李浩","刘川","刘永强","吕文明","罗强","马战林","彭凯峰","秦文发","孙亚洲","田中玉",
20 "王鹏","徐楠楠","许忠雄","杨艳魁","张梦伟","张鹏鹏","赵杰迪","周和禹","周元可","朱彦凯","贾立娟"};
21 ////////////////////////////////////////////////////////////////////////////////////////////////////////////
22 void suijishu()
23 {
24 int i,j,m,n,r ;
25 for(i=0;i<2;i++)
26 {
27 srand((i+GetTickCount()));
28 for(j=0;j<12365478;j++)
29 { r=rand();
30 r=rand();
31 }
32 printf("%d",r);break;
33
34 }
35 }
36
37 void allprint()
38 {
39 int i;
40 printf("\t遥感三班基本信息如下:\n"); // 标题
41 printf(" 姓名\t\t学号\t\t随机数\n"); // 属性
42 for(i=0;i<31;i++)
43 {
44 if(i==30)printf("%s\t%18s\t",name[i],"311113010202"); //转专业学生,特殊处理;
45 else if(i==26)printf("\n%s\t%16s%02d\t",name[i],"3111050603",i+1);//本人的要输入两次奥,其实不明白为啥?
46 else printf("%s\t%16s%02d\t",name[i],"3111050603",i+1); //本班原有学生,正常处理;
47 suijishu();
48 if(i==26)printf("\t这是我自己的\n"); //产生随机数;
49 printf("\n");
50 }
51 }
52 void searchprint(char *str)
53 {
54 int id,len,ok1=0,i ; //标志变量ok1 ;
55 len=strlen(str);
56 if(len==12)
57 {
58 id=atoi(str+10); //将字符的后两位转为整型数;
59 str[10]='\0';
60 //puts(str);
61 if(strcmp(str,"3111050603")==0&&id>=1&&id<=30) //判断输入字符是否是本班学号;
62 printf("%s\n",name[id-1]);
63 else if(strcmp(str,"3111130102")==0) //特殊处理;
64 printf("%s\n",name[30]);
65 else
66 ok1=1;
67
68 }
69 else if(len==4||len==6)
70 {
71 int ok2=0; //标志变量ok2
72 for(i=0;i<31;i++)
73 {
74 if(strcmp(str,name[i])==0)
75 {
76 if(i==30) printf("%s\n","311113010202"); //特殊处理;
77 else printf("%s%d\n","3111050603",i+1);
78 ok2=1; //在姓名中找到才将标志变量ok2=1;
79 }
80
81 }
82 ok1=ok2==1?0:1;
83
84 }
85 else
86 ok1=1;
87 if(ok1)
88 printf("输入错误,请输入学号或姓名!!!\n");
89
90 }
91
92 int main()
93 {
94
95 char str[100];
96 allprint();
97 printf("请输入你要的查找(可输入学号或姓名《请以文件结束符结束!!》):\n"); //仅提供姓名和学号搜索,以CTRL+Z+ENTER结束;
98 while(~scanf("%s",str))
99 {
100 searchprint(str); //计算长度,分类讨论;
101 memset(str,0,sizeof(str));
102 }
103 return 0;
104 system("pause");
105 }
原文链接: https://www.cnblogs.com/zhaojiedi1992/archive/2012/12/17/142857_12_12_17-4.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/72848
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!