当前位置: 首页 > news >正文

长春火车站照片数据分析师需要考哪些证书

长春火车站照片,数据分析师需要考哪些证书,阿尔山网站建设,wordpress 突然加速第一题#xff1a; 输出月份英文名 设计思路: 1:看题目#xff1a;主函数与函数声明#xff0c;知道它要你干什么2#xff1a;理解与分析#xff1a;在main中#xff0c;给你一个月份数字n#xff0c;要求你通过调用函数char *getmonth#xff0c;来判断#xff1a;若…第一题 输出月份英文名 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中给你一个月份数字n要求你通过调用函数char *getmonth来判断若它小于等于12则将它转化为英文单词输出若它大于等于12则输出wrong input3解答第一步定义一个二维数组*a[12][15]并赋值给它1-12月的英文单词第二步定义ii作为a[]的下标第三步利用一个for循环判断i是否等于n若相等返回a[i-1]若出了for循环则返回 NULL 流程图 实验代码 char *a[12][15]{January,February,March,April,May,June,July,August,September,October,November,December}; char *getmonth( int n ) {int i;for(i1;i12;i){if(in){return a[i-1];}}return NULL;} 错误信息 错误1 a[12][15]中的号一直没打找了好久害我在其它地方一直改没改对 解决方案1加*号 第二题 查找星期 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中给你星期1-7的英文单词及它们对应的序号再给你一个字符串通过调用函数getindex要你判断它是否为星期1-7的英文单词若是则输出它的序号否则输出wrong input!3解答第一步定义一个二维数组*a[][],并赋值给它星期7-1的英文单词第二步定义ii作为a[]的下标第三步利用一个for循环判断strcmp(s,a[i])是否等于0若成立返回序号i若不成立跳出for循环后返回-1 流程图 实验代码 char *a[][15]{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}; int getindex( char *s )int i;for(i0;i7;i){if(strcmp(s,a[i])0)return i;}return -1; } 错误信息 这题没错误因为第一题的错误避免了还有我知道strcmp(s,a[i])0 第三题 计算最长的字符串长度 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中题目给你n个字符串要求你通过调用函数 max_len计算n个元素的指针数组s中最长的字符串的长度3解答第一步定义i,max0,t0其中i为s[]的下标max记录s中最长的字符串的长度t为记录s中字符串的长度第二步将strlen(s[0])赋值给max第三步利用for循环从i1开始令 tstrlen(s[i]);再判断max是否小于t若小于将t赋值给max跳出for循环后返回max 流程图 实验代码 int max_len( char *s[], int n ) {int i,max0,t0;maxstrlen(s[0]);for(i1;in;i){tstrlen(s[i]);if(maxt)maxt;}return max; } 错误信息 无 第四题 指定位置输出字符串 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析要你用函数match应打印s中从ch1到ch2之间的所有字符并且返回ch1的地址3解答在match中定义i0,j0,len0ij作为s[]的下标len用于记录s[]长度。还定义 *pNULL*p用于记录ch1的地址第一步计算s[]的长度——len strlen(s)第二步用for循环遍历s[]先找 s[i]ch1若找到则ps[i]再用for循环找ch2若找到则输出 ch1到 ch2之间的字符并返回p若没找到输出ch1后面的所有字符并返回p若没找到ch1则ps[len]并返回p 实验代码 char *match( char *s, char ch1, char ch2 ){ int i0,j0,len0; char *pNULL; len strlen(s); for(i0;ilen;i){ if(s[i]ch1){ ps[i]; for(ji;jlen;j){ if(s[j]!ch2){ printf(%c, s[j]); } if(s[j]ch2){ printf(%c\n, s[j]); return p; } } printf(\n); return p; } } ps[len];printf(\n); return p; } 错误信息 原因一开始我题目理解错了 我以为在主函数中输出也是rog然后我就一直在这个地方错误后来我仔细看题才知道返回的是ch1的地址 第五题 用筛选法求质数 题目 设计思路: 1:看题目主函数与函数声明知道它要你干什么2先定义一个宏——MAX_N10000000然后定义一个全局变量的数组prime[MAX_N]再定义一个全局变量bool型的数组is_prime[MAX_N1]3:在主函数中先定义b,c,d,i;其中b为你的学号c为你学号的前三位d为你学号的后四位i为prime[]的下标第一步输入你的学号b然后求出你学号的前三位和学号的后四位——cb/10000000db%10000第二步调用函数sieve——sieve(c*d)第三步输出4在sieve中用n接收c*d定义p0,i,jp作为质数的下标i作为数组的下标、还为1—n之间的某个数j为i的倍数第一步用一个for循环令所以的is_prime[i]的值都为true出for循环后令is_prime[0]is_prime[1]false第二步用两个for循环外层for循环为for( i2;in;i)进入外层for循环后判断is_prime[i]true是否成立若成立代表i为质数令prime[p]i,然后p再用一个for循环令所以i的倍数的值全为is_prime[j]false实现为内层for循环for(int j2*i;jn;jji)is_prime[j]false; 实验代码基地学长教我的 #include stdio.h #include math.h int MAX_N10000000; int prime[MAX_N]; bool is_prime[MAX_N1]; int sieve(int n){int p0,i,j;for( i0;in;i)is_prime[i]true;is_prime[0]is_prime[1]false;for( i2;in;i){if(is_prime[i]true){prime[p]i;p;for(int j2*i;jn;jji)is_prime[j]false;}} } int main() {int b,c,d,i;scanf(%d,b);cb/10000000;db%10000;int sieve(c*d); for(i0;iMAX_N;i){if((i1)%50){printf(%d\n,prime[i]);}else{printf(%d ,prime[i]);}}} } 第六题 学生成绩链表处理 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中要求你利用两个函数一个将输入的学生成绩组织成单向链表另一个将成绩低于某分数线的学生结点从链表中删除。其中函数createlist利用scanf从输入中获取学生的信息将其组织成单向链表并返回链表头指针而函数deletelist从以head为头指针的链表中删除成绩低于min_score的学生并返回结果链表的头指针3解答在createlist中定义三个struct stud_node的指针*p, *ptr, *headNULL其中*p用于申请动态空间*head用于建立链表的表头*ptr用于建立链表的其它部分第一步定义numname[20]score;它们的值用于赋值给struct stud_node结构中的numname[20]score第二步读入一个num并判断它是否等于0若不等于则进入while循环若等于0返回head;第三步进入whlie后读入name[20]score;再申请一个struct stud_node结构的动态空间p将numname[20]score的值赋值或复制给p中的numname[20]score第四步判断head是否为NULL是则让headp建立链表的表头若不是则令ptr-next p;出if语句后再将ptrp第五步重复操作第二步到第四步直到num0返回head;在deletelist中定义二个struct stud_node的指针ptr1, ptr2在第一个while中ptr2用于查找从head开始第一个不满足head-score min_score的数在第二个while中此时的head肯定不满足head-score min_scoreptr1用于指向headptr2用于指向head的next第一步判断head ! NULL head-score min_score若成立则令ptr2head再令head head-next再free(ptr2);若不成立了一定是以下两种情况之一1学生的分数全部低于min_score链表全部都释放了此时headNULL;2:找到了第一个学生的分数大于min_score的人并让head指向了他第二步出第一个while后判断head NULL若是则为我说的第一个情况——学生的分数全部低于min_score链表全部都释放了此时headNULL应该返回NULL;若不是则为第二种情况——找到了第一个学生的分数大于min_score的人并让head指向了他我们还要找是否他后面还有不满足head-score min_score的数第三步令ptr1 head;ptr2 head-next;判断ptr2 ! NULL若不为空进入第二个while中判断ptr2-score min_score若满足则说明我们要将ptr1的next释放在释放前应该先链接——ptr1-next ptr2-next再释放——free(ptr2);若不满足ptr2-score min_score则说明ptr2不用被释放我们应该让ptr1指向ptr2——ptr1 ptr2再让ptr2指向ptr1的next——ptr2 ptr1-next;一直重复下去直到跳出while第四步返回head 流程图 无 实验代码 #includestring.h struct stud_node *createlist() {struct stud_node *p, *ptr, *headNULL;int num;char name[20];int score;scanf(%d,num);while (num ! 0){scanf(%s %d,name,score);p (struct stud_node *)malloc(sizeof(struct stud_node));p-num num;strcpy(p-name, name);p-score score;p-next NULL;if (head NULL){head p;}else{ptr-next p;}ptr p;scanf(%d,num);}return head; } struct stud_node *deletelist( struct stud_node *head, int min_score ) {struct stud_node *ptr1, *ptr2;while (head ! NULL head-score min_score){ptr2 head;head head-next;free(ptr2);}if (head NULL)return NULL;ptr1 head;ptr2 head-next;while (ptr2 ! NULL){if (ptr2-score min_score) {ptr1-next ptr2-next;free(ptr2);}elseptr1 ptr2;ptr2 ptr1-next;}return head; } 错误信息 一开始再老师没讲之前错误太多了不是我们没做而是天天在做天天在错删除链表好多情况没有考虑到例如第一个低于min_score当全部是低于min_score还有最后一个低于min_score老师讲了之后好一点了还是有上面的一些问题最后经过仔细琢磨终于想出想出来了 小结这题做的太辛苦了不过嘛也受到了好多东西下次在遇到相似的题也不会这么费劲了 第七题 奇数值结点链表 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中要求你用两个函数分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。其中函数readlist从标准输入读入一系列正整数按照读入顺序建立单链表。当读到−1时表示输入结束函数应返回指向单链表头结点的指针。而函数getodd将单链表L中奇数值的结点分离出来重新组成一个新的链表。返回指向新链表头结点的指针同时将L中存储的地址改为删除了奇数值结点后的链表的头结点地址所以要传入L的指针。3解答在readlist中定义三个struct ListNode的指针*p, *tail, *headNULL其中*p用于申请动态空间*head用于建立链表的表头*tail用于建立链表的其它部分第一步定义data;data的值用于赋值给struct ListNode结构中的data;第二步读入一个data,并判断它是否等于-1,若不等于则进入while循环若等于-1,返回head第三步进入whlie后申请一个struct ListNode结构的动态空间p将data的值赋给p中的datap-nextNULL;第四步判断head是否为NULL是则让headp建立链表的表头若不是则令tail-next p;出if语句后再将tailp第五步重复操作第二步到第四步直到data-1返回head;在getodd中定义七个struct stud_node的指针*p*L,*a,*b,*head1,*head2*p1,*p2其中head1head2用于申请动态空间p用于接收*L,p1用于建立奇数链表的表头,a用于建立奇数链表的其它部分p2用于建立偶数链表的表头,b用于建立偶数链表的其它部分第一步申请两个struct ListNode结构的动态空间head1head2令a指向head1b指向head2第二步判断p!NULL若成立则p-data%2!0若是则建立奇数链表否则建立偶数链表若不成立令*L指向偶数链表的表头p2返回奇数链表的表头p1; 流程图 无 实验代码 struct ListNode *readlist() {struct ListNode *headNULL,*pNULL,*tailNULL;int data;scanf(%d,data);while(data!-1){p(struct ListNode *)malloc(sizeof(struct ListNode));p-datadata;p-nextNULL;if(headNULL){headp;}else{tail-nextp;}tailp;scanf(%d,data);}return head; } struct ListNode *getodd( struct ListNode **L ) { struct ListNode *p*L,*a,*b,*head1,*head2,*p1NULL,*p2NULL;head1(struct ListNode*)malloc(sizeof(struct ListNode));head2(struct ListNode*)malloc(sizeof(struct ListNode));head1-nextNULL;head2-nextNULL;ahead1;bhead2;for(;p!NULL;pp-next){if(p-data%2!0){if(p1NULL)p1p;elsea-nextp;ap;}else{if(p2NULL)p2p;elseb-nextp;bp;}}a-nextNULL;b-nextNULL;*Lp2;return p1; } 错误信息 原因我先是在原来链表的基础上修改然后建一个奇数链表然而我处理不好一直错误后来我建了两个链表一个奇数一个偶数最后让*L偶数表头返回奇数表头 第八题 链表拼接 设计思路: 1:看题目主函数与函数声明知道它要你干什么2理解与分析在main中要求你实现一个合并两个有序链表的简单函数3解答在mergelists中定义struct ListNode的 *p,*ptr1list1,*ptr2list2,*tailNULL,*headNULL;其中*p用于申请动态空间*head用于建立链表的表头*ptr用于建立链表的其它部分ptr1指向list1ptr2指向list2第一步定义整形a[1000],i0,n0,j0,t其中a[]用于储存list1和list2中的所有数ij用于冒泡排序法n用于记录a[]有多少数t用于冒泡排序法中交换的中间量第二步用两个for循环将list1和list2中的所有数储存到a[]中再用ni记录a[]有多少数第三步用两个for循环用冒泡排序法将a[]升序排列第四步建立一个新的链表将a[]的数全部赋值到链表中最后返回链表的头部 实验代码 struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2) {struct ListNode *p,*ptr1list1,*ptr2list2,*tailNULL,*headNULL;int a[1000],i0,n0,j0,t;for(i0;ptr1!NULL;ptr1ptr1-next,i){a[i]ptr1-data;}for(;ptr2!NULL;ptr2ptr2-next,i){a[i]ptr2-data;}ni;for(i0;in;i){for(ji1;jn;j){if(a[i]a[j]){ta[i];a[i]a[j];a[j]t;}}}for(i0;in;i){p(struct ListNode *)malloc(sizeof(struct ListNode));p-dataa[i];p-nextNULL;if(headNULL){headp;}else{tail-nextp;}tailp;}return head; } 错误信息 原因 有一些NULL没大写写成了NUll一直编译错误 总结 最近两周的学习我们学了二级指针我们利用它输出月份英文名查找星期计算最长的字符串长度指定位置输出字符串我们还学了链表刚开始感觉建链表比较简单而删除链表比较困难因为有些特殊情况不好处理后来经过不断的学习对删除链表也掌握了这周我们利用链表奇数值结点链表学生成绩链表处理链表拼接这周我有一些特别的感觉以前做PTA基本一下就作好了而这周嘛为了这几题一直在想一直在做也许是我掌握的不够好不过现在对我来说这种题型都会做了也可以理解所有代码不会像以前那样费劲了因为学了一周了想的也多了有时走路也在想感觉这周收获比较多。我们还学了如何申请动态空间这样可以节省更多的空间上面做的题有体现。 我的进度 我点评的人 李伍壹辛静瑶姜健王文博 点评我的人 左右羽马钰娟王文博姜健李伍壹 git地址 转载于:https://www.cnblogs.com/2719610441qqcom/p/8762037.html
http://wiki.neutronadmin.com/news/428595/

相关文章:

  • 建网站企业怎样查找自己建设的网站
  • 企业网站建设实战教程网站建设公司兴田德润优惠
  • 网站建设客户群体分析网站首页页面设计
  • 网站建设教程东莞手工活外发加工网
  • 网站功能建设特点电子商务网站设计的书
  • 安平县哪家做网站简易网页
  • 网站开发需要投入多少时间wordpress修改文章页面模板
  • 怎么组建企业网站家装公司电话
  • 做视频网站空间要多大2022年新闻大事
  • 大理网站建设公司厦门建设网站企业
  • 网站模版 之星重庆网页优化seo公司
  • 如何能去医疗网站做编辑基于c 的网站开发
  • 苏州做网站好的素锦wordpress
  • 哪个网站可以做3d做西点的网站
  • 免费申请注册网站微信公众平台开发者中心
  • 配置asp网站山西省住房和城乡建设厅网站报名
  • 门户网站用什么后台系统好用英文字母做网站关键词
  • 建立网站软件土石方工程网站
  • 网站 用什么数据库代理产品网
  • wordpress安装的模板文件在哪个文件夹seo擦边球网站
  • 分销怎么做网站开发分销为什么都用dw做网站
  • 做目录右内容网站公司管理的三大系统
  • 做网站会遇到什么问题自己做设计图的app
  • 洛阳营销型网站营业执照网上申请
  • 厦门旅游集团网站建设南宁网站排名外包
  • 淘宝推广网站怎么做WordPress发表评论自定义
  • 无极网站免费观看git wordpress
  • 与网站开发相关的书籍江门手机模板建站
  • 成都网站建设 seowordpress-5.6.20
  • 品牌形象网站有哪些移动路由器做网站服务器