第五题怎么做,我写出来的有问题,能通过但是结果不符合的,用c或者java都也可以

第五题怎么做,我写出来的有问题,能通过但是结果不符合的,用c或者java都也可以图片说明

3个回答

pow不是算阶乘的
你可以自己写一个函数
double foo(int n)
{
if (n == 1) return 1.0;
if (n == 2) return 2.0;
double r = 2.0;
for (int i = 3; i <= n; i++)
r *= (double)i;
return r;
}

yyqkn2015
亲爱的耀哥哥 回复等一个人的旅行: 写的很好,赞一个
接近 5 年之前 回复
yyqkn2015
亲爱的耀哥哥 回复等一个人的旅行: 写的很好,赞一个
接近 5 年之前 回复
LMin520
IT猿码 不太懂
接近 5 年之前 回复

比如5!=5*4*3*2

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么做这道题 有些代码已经有了怎么改?
2.在Eclipse中新建一个项目(自行命名),将实验一中的第5小题的库存商品管理类移植到JSP项目中,实现通过web界面进行库存商品的管理操作,商品库存信息是通过本地文件的读写实现的。 要求:编写6个JSP页面,分别实现商品添加、商品查询、商品删除、商品入库、商品出库、显示所有商品信息。 <%@ page language="java" contentType="text/html; charset=GB2312"%> <jsp:useBean id="goods" class= "warehouse.manage.goods" scope="session"></jsp:useBean> <!DOCTYPE html> <html> <head> <title>商品库存管理</title> <a href = add.jsp>添加商品</a> <a href = remove.jsp>删除商品</a> <a href = inquery.jsp>查询商品</a> <a href = enter.jsp>商品入库</a> <a href = delivery.jsp>商品出库</a> <a href = display.jsp>商品浏览</a> </head> <body bgcolor=cyan> <font size=20> <form action="" Method="post"> 请输入商品名称:<input type=text name="goodsName" size=15><br> 请输入商品编号:<input type =text name="goodsId" size=15><br> 商品数量(缺省为0):<input type =text name="quatity" size=15> <input type=submit value="提交"> </form> <% goods.setGoodsName(request.getParameter("goodsName")); goods.setGoodsId(request.getParameter("goodsId")); goods.setQuatity(request.getParameter("quatity")); if(goods.saveGoods()==0) out.println("商品添加成功!"); else out.println("商品添加失败!"); %> </font> </body> </html> ``` <%@ page language="java" contentType="text/html; charset=GB2312"%> <jsp:useBean id="goods" class= "warehouse.manage.goods" scope="session"></jsp:useBean> <!DOCTYPE html> <html> <head> <title>商品库存管理</title> <a href = add.jsp>添加商品</a> <a href = remove.jsp>删除商品</a> <a href = inquery.jsp>查询商品</a> <a href = enter.jsp>商品入库</a> <a href = delivery.jsp>商品出库</a> <a href = display.jsp>商品浏览</a> </head> <body> <form action="" Method="post"> <input type=submit value="查看"> </form> <% String str = goods.displayGoods(); if( str.length()>0){ out.println(str); } %> </body> </html>
【基础试题】约瑟夫环问题怎么做
【基础试题】约瑟夫环问题 Time Limit:1000MS Memory Limit:65536K Total Submit:421 Accepted:281 Description   有M个人,其编号分别为1-M。这M个人按顺序排成一个圈(如图)。现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人出列为止。 Input   输入只有一行,包括2个整数M,N。之间用一个空格分开(0 < n <= m <= 100)。 Output   输出只有一行,包括M个整数 Sample Input   8 5 Sample Output   5 2 8 7 1 4 6 3 Source xinyue
这题不用数组只用for,while 循环该怎么做啊?
火锅火锅和火锅(10分) 题目内容: 众所周知,沫沫以火锅为生。在E8的聚餐活动中,他经常卖萌卖无辜领着大家吃火锅。。 有一天,沫沫听说学校附近的哺呷哺呷在某现充的赞助下有一个优惠活动,只需30软妹币,对每个客人,它会上N道菜,但是客人只能挑选其中连续上的一些菜。 于是他非常兴奋的拉着灰灰和渣渣去吃火锅去啦。 沫沫是一个十分挑食的人,所以他对每一道菜都有一个愉快度(当然因为他的挑食,某些事物的愉快度会是负数)。 为了让沫沫能非常愉快的享受这次聚餐,善解人意的灰灰和渣渣决定帮他计算,他们应该怎么选择菜才能使沫沫最开心地吃完这次聚餐。 输入格式: 第一行是一个整数T,(T <= 10)表示测试案例的个数 对于每个测试案例,第一行是一个整数N,( 1<=N <= 10000)表示菜的个数 接下来的N个数字,第i个数字si表示沫沫对第i道菜的愉快度。( -1000 <=si <= 1000) PS:由于CF又被血虐掉rating,所以沫沫的起始愉快度是0 PPS:沫沫完全可能得到一个为负值的愉快值, poor 沫沫。。 输出格式: 对于每个样例,输出一个数字,表示沫沫吃完之后愉快度的最大值。 HINT: 对于 5 6 -1 5 4 -7 我们选择6, -1, 5, 4这四道菜(注意必须是连续的,所以不能跳过-1) 做完后请思考,如果N的范围是1<=N<=100000呢? 输入样例: 2 5 6 -1 5 4 -7 7 0 6 -1 1 -6 7 -5
各位大佬,请问这道编程题怎么做啊?(不用数组可以做出来吗?)
火锅火锅和火锅(10分) 题目内容: 众所周知,沫沫以火锅为生。在E8的聚餐活动中,他经常卖萌卖无辜领着大家吃火锅。。 有一天,沫沫听说学校附近的哺呷哺呷在某现充的赞助下有一个优惠活动,只需30软妹币,对每个客人,它会上N道菜,但是客人只能挑选其中连续上的一些菜。 于是他非常兴奋的拉着灰灰和渣渣去吃火锅去啦。 沫沫是一个十分挑食的人,所以他对每一道菜都有一个愉快度(当然因为他的挑食,某些事物的愉快度会是负数)。 为了让沫沫能非常愉快的享受这次聚餐,善解人意的灰灰和渣渣决定帮他计算,他们应该怎么选择菜才能使沫沫最开心地吃完这次聚餐。 输入格式: 第一行是一个整数T,(T <= 10)表示测试案例的个数 对于每个测试案例,第一行是一个整数N,( 1<=N <= 10000)表示菜的个数 接下来的N个数字,第i个数字si表示沫沫对第i道菜的愉快度。( -1000 <=si <= 1000) PS:由于CF又被血虐掉rating,所以沫沫的起始愉快度是0 PPS:沫沫完全可能得到一个为负值的愉快值, poor 沫沫。。 输出格式: 对于每个样例,输出一个数字,表示沫沫吃完之后愉快度的最大值。 HINT: 对于 5 6 -1 5 4 -7 我们选择6, -1, 5, 4这四道菜(注意必须是连续的,所以不能跳过-1) 做完后请思考,如果N的范围是1<=N<=100000呢? 输入样例: 2 5 6 -1 5 4 -7 7 0 6 -1 1 -6 7 -5 输出样例: 14 7
Java的double类型在运算时,结果有的时候不能精确显示。我知道是进制导致的。
下图讲解,我懂。 ![图片说明](https://img-ask.csdn.net/upload/201603/19/1458375686_367816.jpg) 但是,在做题的时候............. ![图片说明](https://img-ask.csdn.net/upload/201603/19/1458388086_119749.png) 才发现,我也只能确定0.1不能被精确显示,具体该如何解这样的题呢? 其实我进一步思考了。我以为就看尾数是不是5。比如0.5、0.05。因为2的-x次方的尾数都是5。是5就能精确显示,不是就不能。但是后来发现................. ![图片说明](https://img-ask.csdn.net/upload/201603/19/1458376464_994867.jpg) 说明不能只靠最终结果来判断...............那该怎么判断啊? 问题补充:我知道有BigDecimal这个类,我只可以用这个类避免精度问题。 但是我的问题就是如果做笔试题的时候,遇到这种挫科的问题(如第二幅图所示,刚刚图错了,不好意思哈~~呵呵),该如何找到正确的选项?
C语言打印圣诞树,听别人说这题非常简单,但我还是不会。。
快要到圣诞节了,说到圣诞节首先让人想到圣诞老人和圣诞树。 实际上,圣诞节是为了庆祝耶稣的降生,但是这跟我们没有什么关系,有兴趣可以选修英语选修中讲述历史文化的圣经课。 所以圣诞节跟我们有什么关系呢,还是有关系的,steam平台上的绝大部分游戏会在这段时间打折。 为了迎接圣诞节的特大折扣,我准备装饰n颗圣诞树,这些树的高度可能不相同。 但是我太忙了,他还有很多屁事要做,他先想好了几个大概的种法,等你用程序画个图来看看最终结果是怎么样的。 圣诞树的画法如下: 高度为2的圣诞树: ``` * /-\ /-| |-\ | | ``` 高度为3的圣诞树: ``` * /-\ /-| |-\ /---| |---\ | | ``` 高度为4的圣诞树: ``` * /-\ /-| |-\ /---| |---\ /-----| |-----\ | | ``` 高度为5的圣诞树: ``` * /-\ /-| |-\ /---| |---\ /-----| |-----\ /-------| |-------\ | | ``` 我觉得你很聪明所以不用给出更多的例子,更高的高度以此类推就好了 圣诞树按给出的顺序种 每棵树之间用一个空格隔开 **输入格式 ** 第一行输入t表示case数(1<=t<=100) 每个case第一行输入n表示有n颗圣诞树(1<=n<=5) 每个case第二行n个数字ai表示圣诞树的高度(2<=ai<=10) **输出格式 ** 对于每个case输出最终的样子 每个case之后需要加一个换行(因此最后一个case的末尾会多出两行) 输入样例 2 2 4 2 3 4 2 3 **输出样例 ** ``` * /-\ /-| |-\ * /---| |---\ /-\ /-----| |-----\ /-| |-\ | | | | * /-\ * /-| |-\ * /-\ /---| |---\ /-\ /-| |-\ /-----| |-----\ /-| |-\ /---| |---\ | | | | | | ```
求大佬帮忙写一下这些C和C++题的代码,萌新不会做
1题 Description 你有一辆挖掘机,现在该你当司机。 知道某处有宝藏,最快几步能到达? 现在你站在0这个位置,每一步你可以开车的方式: x+2,x-1,x*2(0=<x<500) Input 多组测试数据,每组给出目标点位置x(0=<x<500) Output 输出到达目标点的最小步数 Sample Input 45 Hint 8 第二题Description 双十一过去了,ACMer剁手买了n个物品,每个物品都会在下单后x分钟开始发货,发货后y分钟可以到达,我们以11月11日00:00即为0分钟,依此类推都以分钟为单位。 Input 输入一个n(n<1000) 对于每一行 5个变量分别代表发货的快递名称,是物品的标签(每个名称长度小于15),下单时间,x ,y Output 按到达时间依次输出快递名和物品的标签,两者之间有一个空格,一个物品的输出占一行,如果到达时间相同,按照标签的字典序排序 Sample Input 2 shentong milk 20 30 40 shunfeng coke 10 30 20 Sample Output shunfeng coke shentong milk 第3题Description 双十一到了,快递站点到了忙碌的季节,每个站点都会受到一大批待送达的物件。每个件都会被一个箱子包装放在仓库,由于空间有限,可能需要将一些物件堆叠起来,并且只能正着放,在正着放的条件下,每一个件的长宽高分别为x,y,h(长宽相等,即x==y) 并且 放在上面的箱子宽度必须小于下面的箱子,问给你n个物件,最高能堆叠多高 Input 输入一个n(n<1000) 接下来n行,每行三个整数x,y,z; Output 输出一个整数,表示最高的高度 Sample Input 5 1 1 3 1 1 2 4 4 10 4 4 14 4 4 9 Sample Output 17 第4题Description 话说特朗普当选了,话说希拉里没选上,话说我说的好像是同一件事!!! 唉,我在说些什么? 我们关注的当然是2016年双11全网交易额达到了1800亿。 剁剁剁剁... 好了,手慢无,悲催的我在过了双11才有购物的欲望而且还下单了,这贵了不是一点点!!!简直就个是智障。 为了避免重蹈覆辙,我已经把双12要买的东西加入了购物车,phone、pad、还得继续上船,稳住,一定要稳住!不能让神船翻掉(其实我还是不知道我在说什么)。 这都不重要,重要的是你们的任务是要帮我清空购物车。 迷之微笑。 由于购物车东西太多,我把它分成了规则的n行m列摆放,对应位置是存货量,并且为了坑你,每种商品我都想要Pi件(又可以赚钱了,好开心啊),当你入坑之后,你的任务就是判断会不会出现让我不开心的事。 我不开心的事就是看到“到货通知”这几个字。 Input 第一行只有一个数字代表测试数据t(t<100)。对于每组数据,接下来一行有两个数字n和m,紧接着n行,每行m个数字代表每种物品存货量,再接着n行,每行m个数字代表我想要该种物品的数量。(0<m,n<100) Output 如果有一种物品数量不够,输出"NO",否则输出"YES"。不包括引号。 Sample Input 3 3 3 1 2 2 2 4 5 3 2 1 1 2 2 3 2 2 2 2 1 2 3 3 4 5 4 5 6 2 2 2 1 1 1 1 1 1 1 Sample Output NO YES YES 第5题Description 很不巧的我很不巧的被床给封印住了,以至于每天早上都起不来。 可是什么事情都不能阻止我学习,学习使我快乐,沉迷学习不能自拔,怎么会有你这种不学习的人,扶朕起来,朕还能学... 所以我要召唤光能使者让我打破封印。 问题的关键来了,要召唤光能使者你就必须在广阔的大地上画出一个光能图案。 例如: 不过,这似乎有点难度,那么我先来尝试画一些三角形吧,然后把每个小三角形都拿出来我们就可以拼成无数个超级光能使者了。 哈哈哈哈。 Input 第一行只有一个数字代表测试数据t(t<10)。对于每组数据输入一个n(0<n<10)代表三角形的单位边长。 Output 每组数据输出对应的三角形,见样例。 Sample Input 3 1 2 3 Sample Output
这道编程题用C++怎么做?
现在有一款小游戏叫做“猜数游戏”。这个游戏的目的是从一个迷宫中找到一个出口。这个迷宫的形状是一棵高度为h的完全二叉树。玩家刚开始站在根部,出口是在某一个叶子结点上面。 现在我们来定义每一个结点的编号: · 根部是1 · 某个内部结点的编号为 i (i ≤ 2h−1−1) 时,他的左儿子编号为2i,右儿子编号为2i+1。 根的深度定为1,其它结点的深度是他的父亲的深度+1。深度为h的结点是叶子。出口在某个叶子结点上,但是游戏玩家并不知道在哪个叶子,所以他现在要开始猜。 玩家每次会问ancestor(exit, i)属于[L,R]吗?这儿 ancestor(v, i) 表示结点v在第i层的那个祖先。然后游戏会给出"Yes"或"No"的回答。这个游戏的回答也不一定是完全合法的。有一些时候他会骗玩家。 现在有一些询问和回答,要求你从中判断一下,这个游戏有没有在说谎。如果游戏没有说谎,并且出口被推断出来,那么请输出出口,如果游戏没有说谎,但是出口不能被唯一判定出来,请输出“Data not sufficient!”。否则输出“Game cheated!” 结点u是结点v的祖先,当且仅当满足以下条件之一: · u和v一样, · u 是 v的父亲, · u 是v的父亲的祖先。 样例解释:在这个例子中有 8个叶子结点。经过第一个询问之后,出口被确定在 [10, 14]区间内。经过第二个和第三个询问,只有14号符合条件。请结合图例进行理解。 Input 单组测试数据。 第一行有两个整数h, q (1 ≤ h ≤ 50, 1 ≤ q ≤ 10^5),表示树的高度和询问的数量。 接下来q行,每行包含 i, L, R, ans (1 ≤ i ≤ h, 2^(i - 1) ≤ L ≤ R ≤ 2^i - 1, ans∈{0,1}),表示询问出口在第i层的祖先属于L,R吗?ans=1表示YES,否则表示NO。 Output 如果游戏给出的信息是自相矛盾的,那么输出 Game cheated!。 如果可以唯一确定出口。那么输出出口的编号。 否则输出Data not sufficient!。 Input示例 4 3 4 10 14 1 3 6 6 0 2 3 3 1 Output示例 14
计算在所有的方案里面第m小的方案的难度,这个问题用C语言的程序的代码的办法来计算,怎么做
Problem Description   最近,小明出了一些ACM编程题,决定在HDOJ举行一场公开赛。   假设题目的数量一共是n道,这些题目的难度被评级为一个不超过1000的非负整数,并且一场比赛至少需要一个题,而这场比赛的难度,就是所有题目的难度之和,同时,我们认为一场比赛与本场题目的顺序无关,而且题目也不会重复。   显而易见,很容易得到如下信息:   假设比赛只用1个题目,有n种方案;   假设比赛使用2个题目,有(n-1)*n/2种方案;   假设比赛使用3个题目,有(n-2)*(n-1)*n/6种方案;   ............   假设比赛使用全部的n个题目,此时方案只有1种。      经过简单估算,小明发现总方案数几乎是一个天文数字!   为了简化问题,现在小明只想知道在所有的方案里面第m小的方案,它的比赛难度是多少呢? Input 输入数据的第一行为一个整数T(1 <= T <= 20),表示有T组测试数据。 每组测试数据第一行为两个整数n, m(0 < n, m <= 10000),表示现在有n个题目,现在要求第m小的方案的比赛难度。接下来第二行有n个数字,分别表示这n个题目的难度值。 Output 对于每组测试数据,输出一行"Case #c: ans"(不包含引号),ans 表示要求的第m小的比赛难度,输入数据保证存在第m小的方案,具体参见样例。 Sample Input 2 5 6 1 1 1 1 1 5 25 1 2 3 4 5 Sample Output Case #1: 2 Case #2: 11
大神们,这道题没有思路,怎么做啊
问题描述:已知5个元素的整型数组 A 未排序,一个索引数组 B 保存 A 的下标。编写程序,在不改变数组A的情况下,只改变数组 B完成对A的排序,如下图所示。 输入:从键盘随机输入五个整数,作为数组A的元素。 输出:第一行输出排序后数组A的五个元素,各元素间无间隔字符;第二行输出数组B排序后的五个元素,各元素间无间隔字符。 样例1:输入 9 7 5 8 4 输出 97584 42130 样例2:输入 9 8 7 6 5 输出 97565 43210 样例3:输入 5 6 7 8 9 输出 56789 01234
线性表中的无头节点链表排序
第五题怎么做,用c语言编程代码是什么?![图片](https://img-ask.csdn.net/upload/201610/15/1476486886_512785.jpg)
找到5*5数组中的鞍点,自己输入的那种!
求大神指导,这题怎么做?(带注释的那种!) ``` 输入一个5行5列的整型数组,求出这个数组的“鞍点”。鞍点是指这个元素在所处的行上最大,列上最小。请输出这个鞍点的位置及鞍点的值。如果没有鞍点,请输出没找到。 例如数组: 2 3 4 5 6 3 4 5 6 8 3 1 2 5 9 3 4 1 8 7 6 1 8 5 9 鞍点是:第1行第5列,值为6 ```
如何用C++调用jeesite的库中的内容
如题,我想用C++来调用jeesite的库中的内容。 现在的问题是,项目之前用的jeesite的web库是基于mysql的,而我已经能够使用C++连接mysql库,但是对于如何调用库中的内容却不知道该怎么做。。。 因为不清楚之前上传到jeesite里的内容,是否就存储在名为jeesite的那个mysql库里?好像C++调用那个库的时候显示没法查询库中的内容? ![这是jeesite的web库的已上传的资源搜索的截图](https://img-ask.csdn.net/upload/201903/03/1551581128_94783.png) 而C++调用mysql库的代码如下: ``` #include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> //下面两个头文件的顺序不能颠倒 #include "winsock2.h" #include "windows.h" #include "mysql.h" using namespace std; void main() { MYSQL *pConn; pConn = mysql_init(NULL); //第2、3、4、5参数的意思分别是:服务器地址、用户名、密码、数据库名,第6个为mysql端口号(0为默认值3306) if(!mysql_real_connect(pConn,"localhost","root","wtk123","jeesite",3306,NULL,0)) { printf("无法连接数据库:%s",mysql_error(pConn)); return; } mysql_query(pConn,"set names gbk");//防止乱码。设置和数据库的编码一致就不会乱码 //SET NAMES x 相当于 SET character_set_client = x;SET character_set_results = x;SET character_set_connection = x; //写set character set gbk;查询不会乱码,但是参数化插入会报错。而set names gbk则都不会乱码 //mysql_real_query比mysql_query多了个参数: 字符串query的长度, 所以适合有二进制数据的query, 而mysql_query的字符串query不能包含二进制,因为它以\0为结尾 //mysql_query() 不能传二进制BLOB字段,因为二进制信息中的\0会被误判为语句结束。 mysql_real_query() 则可以。 if(mysql_query(pConn,"select * from 大臂")) { printf("查询失败:%s",mysql_error(pConn)); return; } //mysql_store_result是把查询结果一次性取到客户端的离线数据集,当结果比较大时耗内存。 //mysql_use_result则是查询结果放在服务器上,客户端通过指针逐行读取,节省客户端内存。但是一个MYSQL*连接同时只能有一个未关闭的mysql_use_result查询 MYSQL_RES *result = mysql_store_result(pConn); MYSQL_ROW row; while(row = mysql_fetch_row(result)) { printf("%s %s\n",row[1],row[2]); } mysql_free_result(result); mysql_close(pConn); } ``` 调试后的结果如下: ![图片说明](https://img-ask.csdn.net/upload/201903/03/1551581698_811644.png) 可见同样是搜索一样的名字,C++却显示是空的?! 求问应该怎么做呢?如何才能在C++搜索并调用jeesite的库中想要的内容乃至于进一步地下载资源? 注:jeesite的web库中提供了可下载的途径,现在我的问题是,如何在C++端编代码实现在C++端能够搜索、调用、下载所需的库中的资源呢? jeesite库中的资源具体情况如下图所示,可以看到,在网页端是可以下载的 ![图片说明](https://img-ask.csdn.net/upload/201903/03/1551582215_207327.png)
从数据库中获取的数据在jsp页面上的显示问题
做一个项目的时候,从数据库获取数据,用迭代的方式在前台显示,只能显示一部分的信息,就好像是有一个固定空间似的,只要内容超出了这个空间,就不能显示了,怎么解决? 代码如下: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>开始答题</title> <script type="text/javascript"> var ksTime; //定义考试时间以分钟计算 ksTime = 120;//设置时间 这里设置为0.1代表是6秒,测试用 if (readCookie("ss") == "") { setCookie("ss", new Date(), ksTime / 60); } function sT() { var tti = new Date(); var lt = parseInt((tti - new Date(readCookie("ss"))) / 1000) if ((ksTime * 60 - lt) < 0) { setCookie("ss", new Date(), 0); alert("考试时间到!\n即将提交试卷!"); document.forms[0].submit(); } else { lm = Math.floor(lt / 60); ls = lt % 60; allY = ksTime * 60 - lt; ym = Math.floor(allY / 60); ys = allY % 60; document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余" + ym + "分" + ys + "秒"; var ttt = setTimeout("sT()", 1000); } } function readCookie(name) { var cookieValue = ""; var search = name + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; cookieValue = document.cookie.substring(offset, end) } } return cookieValue; } function setCookie(name, value, hours) { var expire = ""; if (hours != null) { expire = new Date((new Date()).getTime() + hours * 3600000); expire = "; expires=" + expire.toGMTString(); } document.cookie = name + "=" + value + expire; } </script> </head> <body onload="sT()"> <form action="submitExam" method="post"> <table align="center" bgcolor="#0066cc" width="66%"> <tr> <td align="left">考试时间:120分钟</td> <td align="center">考生:${studentInfo.studentName}</td> </tr> <tr> <td colspan="2" align="center"><div id="tTime"></div></td> </tr> </table> <table align="center" bgcolor="#DDDDDD" width="66%"> <tr> <td bgcolor="#ccffff">选择题(每小题5分,共20个)</td> </tr> <% int index = 1; int i = 1; %> <c:forEach items="${subjects}" var="subject"> <tr> <td ><input type="hidden" name="subjectID" value="${subject.subjectID}" /> <span style="background-color:#66ffff"> 第<%=index++%>题 ${subject.subjectTitle} </span></td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="A">A. ${subject.subjectOptionA}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="B">B. ${subject.subjectOptionB}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="C">C. ${subject.subjectOptionC}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="D">D. ${subject.subjectOptionD} <%i++; %> </td> </tr> </c:forEach> <tr> <td width="200px" ><input type="submit" value="提交试卷"></td> </tr> </table> </form> </body> </html> ``` 显示如下: ![图片说明](https://img-ask.csdn.net/upload/201511/20/1448028190_914976.png) 本来应该设置的应该显示10道题的,但是只显示到第8道题的题目,下面的都没有显示,就连提交按钮也没有显示。 郁闷了好久,想知道为什么没有全部显示出来——求大神帮忙!
如何在sql server 2000中存储XML数据
我想做个题库管理的小软件,数据库用SQL SERVER2000,想把数据存成xml格式的,以便于以后扩展:下面是数据库中一个表的结构,第七项是试卷内容,想存成XML格式,怎么设计比较合理。谢谢了! .试卷管理: 1.试卷编号 2.试卷名称 3.试卷类别 4.创建日期 5.试卷目的 6.试卷版本 7.试卷内容 8.试卷说明 [b]问题补充:[/b] 当然,题库录入的时候设计成这样的,但是要考虑如何写入SQL SERVER 2000中呀,能不能给个比较详细点的方案呀, [b]问题补充:[/b] 是不是要把数据在数据库中存成tex类型的? [b]问题补充:[/b] 有没有详细点的指导呀?等待中... [b]问题补充:[/b] 不是,我是不知道该如何把XML的数据存入数据库中,例如:试卷内容吧是XML格式,我该如何把该项内容存入数据库中呢?有什么方法吗?是直接存还是要借助程序呢?比如我出了一份试卷,怎样才能存到数据库中? [b]问题补充:[/b] 希望高手们来指点一下,感激...
(C语言)在二叉搜索树的学习时遇到了问题,求大佬帮忙看看
如题,在学习二叉搜索树时想要自己添加一些内容,但是不知道为什么就是会出错,自己感觉好像问题出在创建二叉树的地方,但是不知道怎么改.希望大佬能帮忙看看,如果能配上讲解就更好了,感谢. 下面贴上代码,之后是罗列的一些问题,如果代码中还有问题希望大佬能指点下我,谢谢: 项目总共三个文件,二叉搜索树头文件.h和.c文件,然后一个用于测试的主函数.c (二叉搜索树头文件) BSTree.h ``` #ifndef BSTREE_H #define BSTREE_H typedef int DataType; //二叉排序树节点定义 struct BinSearchTreeNode { DataType data; struct BinSearchTreeNode *leftchild; struct BinSearchTreeNode *rightchild; }; typedef struct BinSearchTreeNode *BSTreeNode; typedef struct BinSearchTreeNode *BinSearchTree; /****************************************************************/ /* BinSearchTree *create() */ /* 功能:创建二叉排序树 */ /* 输入参数:无 */ /* 返回值:二叉排序树 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ BinSearchTree create(); /****************************************************************/ /* void InOrder(BinSearchTree ptree) */ /* 功能:中序遍历二叉排序树 */ /* 输入参数ptree:二叉排序树 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void InOrder(BinSearchTree ptree); /****************************************************************/ /* BSTreeNode BSTSearch(BinSearchTree bt, DataType key) */ /* 功能:检索二叉排序树 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要检索的元素 */ /* 返回值:成功返回NULL,失败返回元素插入的父结点位置 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ BSTreeNode BSTSearch(BinSearchTree bt, DataType key); /****************************************************************/ /* int BSTInsert(BinSearchTree bt, DataType key) */ /* 功能:在二叉排序树中插入元素key */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要插入的元素 */ /* 返回值:成功插入返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTInsert(BinSearchTree bt, DataType key); /****************************************************************/ /* int BSTgetMax(BinSearchTree *bt) */ /* 功能:查找二叉排序树的最大值 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BSTgetMax(BinSearchTree *bt); /****************************************************************/ /* int BSTgetMin(BinSearchTree *bt) */ /* 功能:查找二叉排序树的最小值 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BSTgetMin(BinSearchTree *bt); /****************************************************************/ /* int BSTDelete1(BinSearchTree *bt, DataType key) */ /* 功能:删除二叉排序树中的元素key,方法1 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要删除的元素 */ /* 返回值:成功删除返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTDelete1(BinSearchTree *bt, DataType key); /****************************************************************/ /* int BSTDelete2(BinSearchTree *bt, DataType key) */ /* 功能:删除二叉排序树中的元素key,方法2 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要删除的元素 */ /* 返回值:成功删除返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTDelete2(BinSearchTree *bt, DataType key); /****************************************************************/ /* void BST_Destory(BinSearchTree bt) */ /* 功能:销毁二叉排序树 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BST_Destory(BinSearchTree bt); #endif // BSTREE_H ``` 对应的c文件 BSTree.c ``` #include <stdio.h> #include <stdlib.h> #include "BSTree.h" /****************************************************************/ /* BinSearchTree create() */ /* 功能:创建二叉排序树,注意这里输入的应该是先序序列,并且保证是一*/ /* 个二叉排序树的先序序列 */ /* 输入参数:无 */ /* 返回值:二叉排序树 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ BinSearchTree create() { int ch = 0;//初始化 BinSearchTree bt; scanf_s("%d", &ch); if (ch == -1) { bt = NULL; } else { bt = (BSTreeNode *)malloc(sizeof(struct BinSearchTreeNode)); bt->data = ch; //递归赋值左子树 bt->leftchild = create(); //递归赋值右子树 bt->rightchild = create(); } //返回根节点 return bt; } /****************************************************************/ /* void InOrder(BinSearchTree ptree) */ /* 功能:中序遍历二叉排序树 */ /* 输入参数ptree:二叉排序树 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void InOrder(BinSearchTree ptree) { if (ptree == NULL) { return; } InOrder(ptree->leftchild); printf("%d", ptree->data); InOrder(ptree->rightchild); } /****************************************************************/ /* BSTreeNode BSTSearch(BinSearchTree bt, DataType key) */ /* 功能:检索二叉排序树 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要检索的元素 */ /* 返回值:成功返回NULL,失败返回元素插入的父结点位置 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ BSTreeNode BSTSearch(BinSearchTree bt, DataType key) { BSTreeNode p, parent; p = bt; parent = p; //记录待插入结点的父结点 while (p) { parent = p; //当查找到时提示,返回NULL if (p->data == key) { printf("Exist this key\n"); return NULL; } //根结点大于要查的结点,进入左分支查找 if (p->data > key) { p = p->leftchild; } //根结点小于要查的结点,进入右分支查找 else { p = p->rightchild; } }//p=NULL,跳出循环 return parent; //查找失败,返回parent }//return NULL和parent是为了便于之后的操作 /****************************************************************/ /* int BSTInsert(BinSearchTree bt, DataType key) */ /* 功能:在二叉排序树中插入元素key */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要插入的元素 */ /* 返回值:成功插入返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTInsert(BinSearchTree bt, DataType key) { BSTreeNode p, temp; temp = BSTSearch(bt, key); //temp保存查找之后的结果 //已存在,返回0 if (temp == NULL) { printf("Exist this key\n"); return 0; } //申请结点的内存空间 p = (BSTreeNode *)malloc(sizeof(struct BinSearchTreeNode)); //申请失败提示 if (p == NULL) { printf("Alloc Failure!\n"); return 0; } p->data = key; //数据域赋值,左右指针域默认为空 //p->leftchild = NULL; //左子树指针域赋值 //p->rightchild = NULL; //右子树指针域赋值 if (key < temp->data) { temp->leftchild = p; //作为左子树插入 } else { temp->rightchild = p; //作为右子树插入 } return 1; } /****************************************************************/ /* int BSTgetMax(BinSearchTree bt) */ /* 功能:查找二叉排序树的最大值 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BSTgetMax(BinSearchTree *bt) { BSTreeNode temp; temp = bt; if (temp) { while (temp->leftchild) { temp = temp->leftchild; } printf("%d", temp->data); } } /****************************************************************/ /* int BSTgetMin(BinSearchTree bt) */ /* 功能:查找二叉排序树的最小值 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BSTgetMin(BinSearchTree *bt) { BSTreeNode temp; temp = bt; if (temp) { while (temp->rightchild) { temp = temp->rightchild; } printf("%d", temp->data); } } /****************************************************************/ /* int BSTDelete1(BinSearchTree *bt, DataType key) */ /* 功能:删除二叉排序树中的元素key,方法1 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要删除的元素 */ /* 返回值:成功删除返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTDelete1(BinSearchTree *bt, DataType key) { BSTreeNode parent, p, maxpl; p = *bt; parent = NULL; //查找被删除的结点 while (p != NULL) { if (p->data == key) break; //查找到了,跳出循环 if (p->data > key) p = p->leftchild; else p = p->rightchild; }//查询结束 if (p == NULL) { printf("%d not exist\n", key); return 0; } //只有右子树的情况 if (p->leftchild == NULL) { //如果被删除的结点是根结点,那就要修改的是二叉排序树的根 if (parent == NULL) *bt = p->rightchild; //检查是左孩子还是右孩子 else if (parent->leftchild == p) parent->leftchild = p->rightchild; else parent->rightchild = p->rightchild; } //既有左子树也有右子树 if (p->leftchild != NULL) { BSTreeNode parentp; //parentp记录maxpl的父结点 parentp = p; maxpl = p->leftchild; //对称遍历中,右侧的总是大的数 //定位p的左子树中的最大结点maxpl while (maxpl->rightchild != NULL) { parentp = maxpl; maxpl = maxpl->rightchild; } p->data = maxpl->data; //修改p的数据域为maxpl的值 if (parentp == p) //如果maxpl的父结点是p p->leftchild = maxpl->leftchild; //修改p结点的左指针 else parentp->rightchild = maxpl->leftchild; //修改父结点的右指针 p = maxpl; //更新p指针为maxpl结点以便删除 } //释放空间 free(p); return 1; } /****************************************************************/ /* int BSTDelete2(BinSearchTree *bt, DataType key) */ /* 功能:删除二叉排序树中的元素key,方法2 */ /* 输入参数bt:二叉排序树的根 */ /* 输入参数key:要删除的元素 */ /* 返回值:成功删除返回1,否则返回0 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ int BSTDelete2(BinSearchTree *bt, DataType key) { //parent记录p的父结点,maxpl记录p的左子树中的关键码最大结点 BSTreeNode parent, p, maxpl; p = *bt; parent = NULL; //查找被删除的结点 while (p != NULL) { if (p->data == key) break; //查找到了,跳出循环 parent = p; //注意这一句 if (p->data > key) p = p->leftchild; else p = p->rightchild; }//查找结束 if (p == NULL) { printf("%d not exist!\n", key); return 0; } //只有右子树的情况 if (p->leftchild == NULL) { //删除的是根结点,做特殊处理 if (parent == NULL) *bt = p->rightchild; //p是父结点parent的左孩子,则修改父结点的左指针 else if (parent->leftchild == p) parent->leftchild = p->rightchild; else parent->rightchild = p->rightchild; } //以上和方法1几乎完全相同 //有左子树和右子树 if (p->leftchild != NULL) { maxpl = p->leftchild; //定位左子树中的最大结点maxpl while (maxpl->rightchild != NULL) maxpl = maxpl->rightchild; maxpl->rightchild = p->rightchild; if (parent == NULL) *bt = p->leftchild; //p是父结点parent的左孩子,则修改父结点的左指针 else if (parent->leftchild == p) parent->leftchild = p->leftchild; //p是父结点parent的右孩子,则修改父结点的右指针 else parent->rightchild = p->leftchild; } free(p); //释放结点p return 1; } /****************************************************************/ /* void BST_Destory(BinSearchTree *bt) */ /* 功能:递归销毁二叉排序树 */ /* 输入参数bt:二叉排序树的根 */ /* 返回值:无 */ /* 创建日期:2019-5-21 Author:Cyber Kaka */ /****************************************************************/ void BST_Destory(BinSearchTree bt) { if (bt) { BST_Destory(bt->leftchild); BST_Destory(bt->rightchild); free(bt); } } ``` 主函数.c文件 main.c ``` #include <stdio.h> #include <stdlib.h> #include "BSTree.h" //用于测试的二叉树先序序列,-1表示空 //40 10 5 -1 -1 -1 55 45 -1 48 47 -1 -1 52 -1 -1 60 -1 70 -1 -1 void main() { BinSearchTree bt; int n = 0; printf("输入二叉排序树的先序序列:\n"); bt = create(); printf("输入要查找的元素,存在返回1,不存在返回0,插入:"); scanf_s("%d", &n); printf("%d\n", BSTSearch(bt, n)->data); printf("输入要插入的元素,成功插入返回1,否则返回0:"); scanf_s("%d", &n); printf("%d\n", BSTInsert(bt, n)); //printf("二叉排序树的中序遍历序列:\n"); //InOrder(bt); printf("\n第一种删除方法,输入要删除的元素,成功返回1,不成功返回0:"); scanf_s("%d", &n); printf("%d\n", BSTDelete1(&bt, n)); //printf("二叉排序树的中序遍历序列:\n"); //InOrder(bt); printf("\n第二种删除方法,输入要删除的元素,成功返回1,不成功返回0:"); scanf_s("%d", &n); printf("%d\n", BSTDelete2(&bt, n)); //printf("二叉排序树的中序遍历序列:\n"); //InOrder(bt); } ``` **问题:**<br> <br> * [0]生成解决方案的时候有警告,但是我忽略了,因为显示程序生成成功了,感觉这几个警告是最大的问题,第4个问题中我详细列出了这些内容<br> <br> * [1]二叉树的递归创建自己感觉有问题,尤其是内存申请这里<br> <br> <code>bt = (BSTreeNode *)malloc(sizeof(struct BinSearchTreeNode));</code><br> <br> * [2]中序遍历的内容在搜索到左子树底的时候本应返回上一步时会出现异常,建立断点异常内容如下:<br> 引发了异常: 读取访问权限冲突。<br> **ptree** 是 0xCDCDCDCD。<br> <br> * [3]由于中序遍历有异常,所以我注释掉了所有的相关内容,编译时没什么问题,但是删除结点的函数也会出现类似的异常,异常内容如下:<br> 引发了异常: 读取访问权限冲突。<br> **maxpl** 是 0xCDCDCDCD。<br> <br> <br> * [4]好吧,我就都注释掉了,看看别的代码是不是有问题,重新生成解决方案,熟悉的警告出现了,c语言是速成的结构体这块不是很明了,感觉应该是创建二叉搜索树的代码有问题,或者是结构体创建有问题,以下是警告的内容:<br> */bstree.c(24): warning C4047: “=”:“BinSearchTree”与“BSTreeNode *”的间接级别不同<br> */bstree.c(108): warning C4047: “=”:“BSTreeNode”与“BSTreeNode *”的间接级别不同<br> *\bstree.c(139): warning C4047: “=”:“BSTreeNode”与“BinSearchTree *”的间接级别不同<br> *\bstree.c(160): warning C4047: “=”:“BSTreeNode”与“BinSearchTree *”的间接级别不同<br> <br> 第24行:<br> BinSearchTree create()<br> {<br> &nbsp;&nbsp;...<br> &nbsp;&nbsp;&nbsp;&nbsp;bt = (BSTreeNode *)malloc(sizeof(struct BinSearchTreeNode));<br> &nbsp;&nbsp;...<br> }<br> <br> 第108行:<br> int BSTInsert(BinSearchTree bt, DataType key)<br> {<br> &nbsp;&nbsp;...<br> &nbsp;&nbsp;&nbsp;&nbsp;//申请结点的内存空间<br> &nbsp;&nbsp;&nbsp;&nbsp;p = (BSTreeNode *)malloc(sizeof(struct BinSearchTreeNode));<br> &nbsp;&nbsp;...<br> }<br> <br> 第139行:<br> void BSTgetMax(BinSearchTree *bt)<br> {<br> &nbsp;&nbsp;...<br> &nbsp;&nbsp;&nbsp;&nbsp;temp = bt;<br> &nbsp;&nbsp;...<br> }<br> <br> 第160行:<br> void BSTgetMin(BinSearchTree *bt)<br> {<br> &nbsp;&nbsp;...<br> &nbsp;&nbsp;&nbsp;&nbsp;temp = bt;<br> &nbsp;&nbsp;...<br> }<br> <br> 以上,求各位大佬指点迷津<br>
跨平台手机APP开发 Hybrid APP
本人.NET出身,最近应客户要求要做一款APP应用,一直没接触过APP开发,看了一下网上的APP开发模式,基本分为 原生开发、混合开发、纯webapp,综合考虑了一下,打算选择Hybrid App混合开发模式,但是还有一些技术、框架难以确定,也有一些疑问: 1、框架有哪些选择?哪种开发效率高,框架稳定,社区资源丰富,使用者多 2、用户打开APP,没登录则只能试看视频前几分钟,只有注册成会员后,则可观看完整视频,每个用户观看的每个视频,怎么记录他们观看每个视频的记录,下次直接跳转到上次视频播放的位置,针对一些特殊视频:例如观看到第5分钟的时候,弹出一个答题框,答完题之后才让继续看后面的视频,而且不能随意拖动视频进度条,必须要一秒一秒的看下去,看完的视频,可以缓存到本地,这样,即使断网的情况下,也可以看以前看过的视频,我们做的是APP观看视频学习,在后台管理我们可以对视频进行设置:收费设置、不可拖动进度条,看到一定节点,弹出对话框等等。 在做视频在线学习这块,网络带宽情况、视频格式一般采取什么方案比较好,有没有在APP开发这方面有经验的大佬,给推荐一下技术选型,方向等等,在此先谢过了。
Spring quartz任务调度问题咨询
利用Spring quartz任务调度做一个类似闹钟,闹钟有三个时间点,一个是每天早上八点准时点,第二个是每周五晚上七点约会提醒,第三个是每月最后一天晚上八点其他事件提醒。 咨询各位大侠,此题该怎么解?
C语言对用堆导入并显示的数据进行进一步的处理
原题目:求转录RNA组的平均值与标准差(英文翻译过来的) 附加条件:给了一个200多M的文件(数据,可以以txt,csv等形式打开 ) 拿到题目以后解读数据就费了好长时间,数据中的名称全是英文,看了好半天才明白是怎么一回事想到定义数组发现定不了那么大,从网上学了malloc可是完全不知道引入文件后怎么将其导入数组内,试着将网上的程序拼接结果不行。////这时得到了堆空间这个名词,紧接着直接搜出了导入csv文件的相关代码(这里解释一下,这是大学老师布置的一道题,老师只教了我们谭浩强的红皮书就出这样的题目。。。老师也跟我们说了考验我们获取信息的能力。。。只是交作业不算抄袭吧?),就直接粘上了,然后逐行的读懂了这个程序,能够很顺利的用运行显示出所有数据,但是我想进一步做的时候发现自己需要将没一行数据单独进行运算,而这个程序是检测后直接一个个的将一整行显示了,所以我不知道该怎么进行下一步的数据处理。(其实这个程序的核心部分我也只是知道单独行的意思,整体的功能实现并不是太确定)求哪位好心人帮忙给讲一下怎么对导入的数据进行处理。自己的水平实在是不够了。 谢谢了。 #include <stdio.h> #include <stdlib.h> #include <string.h> int getFilelen(FILE * file)//2.2.0----getfile...函数---- 主要是做逐行读取功能并记录行数 { int len = 0;//2.2.1---定义了一个len=0其意义暂时不知---- if (file == NULL) { return -1;//2.2.2如果文件为空(或不存在??????????)直接结束 } char buf[1024];//2.2.3定义一个大小为1024的一维数组(1024有无特殊含义???????) //读取每一行 while (fgets(buf, 1024, file) != NULL)//2.2.4---- 将fp中的内容按1024字节大小读入text中,然后输出。直到读到fp的末尾,为空了。停止读取,然后关闭文件。 -----解释了1024的问题 { len++; //printf("%d ",len); } //设置光标 fseek(file, 0, SEEK_SET);//2.2.5---函数。。。跳到 ---错了。。。 意思是把文件指针指向文件的开头 return len;//2.2.6----返回len----此时回到77行继续运行程序 } void readFileData(FILE * file, int len, char ** pArray) //2.3.1文件指针 长度 堆区数组----read为函数名的函数,其意义因该为读取吧 ---读取到数组??? { if (file == NULL || len <= 0 || pArray == NULL)//2.3.2--如果存在什么不合理的情况,直接结束 { return; } char buf[1024]; //读取每一行 int index = 0; while (fgets(buf, 1024, file) != NULL)//同14行 { int currentlen = strlen(buf) + 1;//strlen() 这个函数是返回一个字符串中的字符个数,不包括结束符 '\0'; char * currenP = (char *)malloc(sizeof(char) * currentlen); strcpy(currenP, buf);//复制BUF ,buf包含整个数据库?? pArray[index++] = currenP;//将buf放进数组??? // printf("%d ",pArray[index++] ); memset(buf, 0, 1024);// 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值----转换为ascii之后方便计算?---- }//回79行 } void showFileData(char ** pArray, int len)//以show为开头的函数,其意义因该为展示,显示吧----- { for (int i = 0; i < len; i++) { int qwe=i; printf("第%d行内容:%s\n", i+1, pArray[i]);//证实parray实际上包含了数据库 // printf("第%d行数据:%s\n",i+1,pArray[qwe+1]); } }//回80行 void freeSpace(char ** pArray, int len)//不用想了,释放空间,翻译一下就出来了 { if (pArray == NULL || len == NULL) { return; } for (int i = 0; i < len; i++) { if (pArray[i] != NULL) { free(pArray[i]); pArray[i] = NULL; } } }//回81行 int test01()//2.1.0----test01函数,整个程序的主体部分(之后的\n和system只是辅助,显示的好看一些,没有什么意义) -----此函数意义仍为一个目录,具体操作在其他函数中 { FILE * file = fopen("transcript_rna_tissue.csv", "r");//2.1.1打开文件,如果不存在或者打不开的话输出72内容,结束程序。 if (file == NULL) { printf("打开文件失败!\n"); return 0; } int len= getFilelen(file);//2.1.2----定义(调用)函数get...-----程序跳转至第5行 char ** pArray = (char **)malloc(sizeof(char *) * len);//2.2.0---定义一个符合文件大小要求的堆空间????? readFileData(file, len, pArray);//2.3.0---函数,跳到25行 -----------去掉这一行数据显示为 第i行数据:(null) showFileData(pArray, len);//到45行 ----------去掉程序不再运行 freeSpace(pArray, len);//到52行 -----可以去掉,不影响显示 pArray = NULL;//将PARRAY定回空----回87行 } int main()//1.0.0--定义主函数,程序的真正开端 { test01();//2.0.0--调用函数 test01-----程序跳转到第67行 putchar('\n'); system("pause"); }//结束
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线 方法 网站 书籍推荐! Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
神经⽹络可以计算任何函数的可视化证明
《Neural Networks and Deep Learning》读书笔记第四篇本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:不论我们想要计算什么样的函数,...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
活到老,学到老,程序员也该如此
全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高...
Vue快速实现通用表单验证
本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单”。这句话要从哪里说起呢?大概要从最近半个月的“全栈工程师”说起。项目上需要做一个城市配载的功能,顾名思义,就是通过框选和拖拽的方式在地图上完成配载。博主选择了前后端分离的方式,在这个过程中发现:首先,只要有依赖jQuery的组件,譬如Kendoui,即使使用...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
关于裁员几点看法及建议
最近网易裁员事件引起广泛关注,昨天网易针对此事,也发了声明,到底谁对谁错,孰是孰非?我们作为吃瓜观众实在是知之甚少,所以不敢妄下定论。身处软件开发这个行业,近一两年来,对...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问