请个大神帮忙给这段代码word添加注释详细的注释

只需一步,快速开始
扫一扫,访问微社区
查看: 183|回复: 3
这段代码理解的晕晕乎乎的,哪位大神能帮忙全面解释一下
黑马币技术分主题
中级黑马, 积分 767, 距离下一级还需 233 积分
中级黑马, 积分 767, 距离下一级还需 233 积分
import java.util.S
class Demo {
& & & & public static void main(String[] args) {
& & & & & & & & Scanner sc = new Scanner(System.in);
& & & & & & & & int[] arr = {1,2,4,3,5,6};
& & & & & & & & int d = sc.nextInt();
& & & & & & & & int index = getIndex(arr,d);
& & & & & & & & System.out.println(index);
& & & & public static int getIndex(int[] arr,int value){
& & & & & & & & for (int i = 0 ;i & arr.length&&;i++ ) {
& & & & & & & & & & & & if (arr[i] == value) {
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & return 0;
这是一段根据元素查找角标的代码,理解的晕晕乎乎的,尤其是getIndex这段方法,传的两个参数都是什么意思?哪位大神能帮忙全面解释解释
黑马币技术分主题
中级黑马, 积分 206, 距离下一级还需 794 积分
中级黑马, 积分 206, 距离下一级还需 794 积分
getIndex 这个方法是 遍历获取数组中 value 对应的 索引值。
如果 value 不存在 则返回0
黑马币技术分主题
中级黑马, 积分 393, 距离下一级还需 607 积分
中级黑马, 积分 393, 距离下一级还需 607 积分
import java.util.S& && && && && &//导入scanner包,这个是用来键盘输入的包
class Demo {
& && &&&public static void main(String[] args) {
& && && && && & Scanner sc = new Scanner(System.in);& && &//建立Scanner对象,一会用来接收键盘输入的东东
& && && && && & int[] arr = {1,2,4,3,5,6};& &&&//定义一个int型数组arr,初始值为大括号里的数
& && && && && & int d = sc.nextInt();& && & //将键盘输入的一个int型数赋值给int型变量d
& && && && && & //调用getIndex方法,对传入的arr和d进行操作,这个方法具体内容在下面
& && && && && & //这个方法会返回一个值,也就是算出一个int型的数来,这个数赋值给index,然后输出index
& && && && && & int index = getIndex(arr,d);
& && && && && & System.out.println(index);
& && &&&public static int getIndex(int[] arr,int value){& & //这就是getIndex方法
& && && && && & for (int i = 0 ;i & arr.length&&;i++ ) {& && && &&&//遍历arr数组。i每次加1
& && && && && && && && &if (arr[i] == value) {& && && && && && && && && &//如果数组中某个元素等于value(也就是你传进来的d)
& && && && && && && && && && &&&& && &//那么就返回(得到)这个数的索引(下角标),也就是把这个i赋值给index
& && && && && && && && &}
& && && && && & }
& && && && && & return 0;//否则就返回0,这里其实应该是-1,因为如果你要找的正好是索引为0的元素,这就冲突了
黑马币技术分主题
中级黑马, 积分 234, 距离下一级还需 766 积分
中级黑马, 积分 234, 距离下一级还需 766 积分
import java.util.S& && && && && &//导入scanner包,这个是用来键盘输入的包
class Demo {
& && &&&...
站长推荐 /4
众所周知,黑马程序员在IT领域的知名度非常高,很多学员想了解黑马的途径之一就是去百度搜索。而百度属于那种给钱就上、无视其他公司合法权益的公司,这点被很多无良企业利用,在百度上肆意侵害其他公司的权益。
你还在游走于Baidu、Google找着各种各样的入门技巧及视频吗,你还在为各种各样的学习资料在某宝花着大量银子才发现最终收到的却是很多年前的教学视频与资料吗,史上最全视频持续发布,源码视频笔记+qq:167...
本套视频为传智播客·黑马程序员iOS基础班真实视频,价值万元,内容涉及oc语法中的基础部分,包括基础语法,类与对象,封装继承等OC语法中较基础的部分,是一个非常适合iOS开发入门的oc基础进阶视频教程。
一帖在手,说走就走,小马驹们看过来~是不是有一种点招社招傻傻分不清楚赶脚?是不是有一种黑马论坛黑马报名系统傻傻分不清楚赶脚?是不是有一种先付费后付费傻傻分不清楚赶脚?莫要担心,雪姐来解释一下!
Powered by
Copyright &c语言判断正方形的问题 请大神帮我改下程序 结果不对 最好在原程序上改 加注释 谢谢_百度知道
c语言判断正方形的问题 请大神帮我改下程序 结果不对 最好在原程序上改 加注释 谢谢
题目: 你曾在山顶搭建过帐篷吗?我们面临的最大的困难莫过于在几乎全部时裸露的岩石的山顶找到合适的位置固定用于牵拉帐篷的钉子。&br
在这个问题中,我们要搭建一座正方形的帐篷,所以我们要寻找合适的位置固哗禒糕溉蕹防革狮宫饯定四个钉子,用以牵拉帐篷的四角。此时帐篷的尺寸并不重要,但我们必须使帐篷的四角形成一个正方形,所以我们必须使选取的四个用于放置钉子的点构成一个正方形。现在,山顶上能够用于固定钉子的点已经被选出,你的任务仅仅是判断它们是否能构成一个正方形。&br
输入: 输入数据包含多个测例。输入数据的第一行是一个整数T,1&=T&=50,表示输入数据包含的测例个数。随后是各以一个空行分隔的T个测例的数据。每个测例包含四个选中的固定点的坐标,每行有两个整数:X和Y坐标,表示其中的一个点,两个数间由一个空格分隔,且0&X,Y&1000。注意,四个点不一定是按顺序给出的。&br
输出: 对于每一个独立的测例,在单独的一行内输出判断的结果,如果可以输出&Yes&,否则输出&No&。&br
测试数据 3&br
/&&br /&1 1&br /&1 2&br /&2 1&br /&2 2&br
/&&br /&1 1&br /&2 2&br /&3 3&br /&4 4&br
/&&br /&1 2&br /&2 1&br /&2 3&br /&3 2&br /&
/&No&br /&Yes&br /&
我的程序:#include &stdio.h&#include &math.h&float cdistance(int x1,int y1,int x2,int y2){
mydistance=(float)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); }int main(){ int T,i1,i,x[4],y[4],temp,p; float mydistance[6]; scanf(&%d&,&T); for (i=0;i&T;i++) {
for (i=0;i&4;i++)
scanf(&%d%d&,&x[i],&y[i]);
mydistance[0]=cdistance(x[0],y[0],x[1],y[1]);
mydistance[1]=cdistance(x[0],y[0],x[2],y[2]);
mydistance[2]=cdistance(x[0],y[0],x[3],y[3]);
mydistance[3]=cdistance(x[1],y[1],x[2],y[2]);
mydistance[4]=cdistance(x[1],y[1],x[3],y[3]);
mydistance[5]=cdistance(x[2],y[2],x[3],y[3]);
for (i=0;i&6;i++)
p=(i+1)%6;
if ((mydistance[i]!=mydistance[p])&&(mydistance[i]!=sqrt(2)*mydistance[p])&&(sqrt(2)*mydistance[i]!=mydistance[p]))
if (temp==1)
printf(&No\n&);
printf(&Yes\n&); } return 0;}
#include&&stdio.h&#include&&stdlib.h&#include&&string.h&typedef&struct&point_s&{&&&&int&x;&&&&int&y;}&point_t;/*&返回a、b点距离的平方&*/&int&sdistance(point_t&*pa,&point_t&*pb){&&&&return&(pa-&x&-&pb-&x)*(pa-&x&-&pb-&x)&+&(pa-&y&-&pb-&y)*(pa-&y&-&pb-&y);}/*&利用勾股定理检查以b点为顶点的角abc是否为直角,直角返回true,否则返回false&*/&int&check_angle(point_t&*pa,&point_t&*pb,&point_t&*pc){&&&&int&sba,&sbc,&&&&&sba&=&sdistance(pb,&pa);&&&&sbc&=&sdistance(pb,&pc);&&&&sac&=&sdistance(pa,&pc);&&&&return&(sba&+&sbc)&==&}int&the_same(point_t&*pa,&point_t&*pb){&&&&return&(pa-&x&==&pb-&x)&&&&(pa-&y&==&pb-&y);&}int&main(){&&&&/*&四个点能组成正方形的条件为:&&&&&*&1.&四个点不相互重合&&&&&*&2.&四个点组成的四边形有一个角为直角&&&&&*&3.&其中有一个角为直角&&&&&*/&&&&int&t,i;&&&&int&s01,&s12,&s23,&s30;&&&&point_t&points[4]&=&{0};&&&&&&&&scanf(&%d&,&&t);&&&&while(t&--)&&&&{&&&&&&&&for&(i=0;i&4;i++)&&&&&&&&{&&&&&&&&&&&&scanf(&%d&%d&,&&points[i].x,&&points[i].y);&&&&&&&&}&&&&&&&&&&&&&&&&if&(the_same(&points[0],&&points[1])&||&&&&&&&&&&&&the_same(&points[0],&&points[2])&||&&&&&&&&&&&&the_same(&points[0],&&points[3])&||&&&&&&&&&&&&the_same(&points[1],&&points[2])&||&&&&&&&&&&&&the_same(&points[1],&&points[3])&||&&&&&&&&&&&&the_same(&points[2],&&points[3]))&&&&&&&&{&&&&&&&&&&&&printf(&No\n&);&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&/*&p0,p1,p2&构成一个以p1为顶点的直角?&*/&&&&&&&&&if&(check_angle(&points[0],&&points[1],&&points[2]))&&&&&&&&{&&&&&&&&&&&&/*&四个点顺序为:0-1-2-3&*/&&&&&&&&&&&&s01&=&sdistance(&points[0],&&points[1]);&&&&&&&&&&&&s12&=&sdistance(&points[1],&&points[2]);&&&&&&&&&&&&s23&=&sdistance(&points[2],&&points[3]);&&&&&&&&&&&&s30&=&sdistance(&points[3],&&points[0]);&&&&&&&&&&&&if&(s01&==&s12&&&&s23&==&s30&&&&s01&==&s23)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&Yes\n&);&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&No\n&);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&/*&p0,p1,p3&构成一个以p1为顶点的直角?&*/&&&&&&&&else&if(check_angle(&points[0],&&points[1],&&points[3]))&&&&&&&&{&&&&&&&&&&&&/*&四个点顺序为:0-1-3-2&*/&&&&&&&&&&&&s01&=&sdistance(&points[0],&&points[1]);&&&&&&&&&&&&s12&=&sdistance(&points[1],&&points[3]);&&&&&&&&&&&&s23&=&sdistance(&points[3],&&points[2]);&&&&&&&&&&&&s30&=&sdistance(&points[2],&&points[0]);&&&&&&&&&&&&if&(s01&==&s12&&&&s23&==&s30&&&&s01&==&s23)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&Yes\n&);&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&No\n&);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&/*&p0,p2,p1&构成一个以p2为顶点的直角?&*/&&&&&&&&else&if(check_angle(&points[0],&&points[2],&&points[1]))&&&&&&&&{&&&&&&&&&&&&/*&四个点顺序为:0-2-1-3&*/&&&&&&&&&&&&s01&=&sdistance(&points[0],&&points[2]);&&&&&&&&&&&&s12&=&sdistance(&points[2],&&points[1]);&&&&&&&&&&&&s23&=&sdistance(&points[1],&&points[3]);&&&&&&&&&&&&s30&=&sdistance(&points[3],&&points[0]);&&&&&&&&&&&&if&(s01&==&s12&&&&s23&==&s30&&&&s01&==&s23)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&Yes\n&);&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&No\n&);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&/*&p0,p2,p3&构成一个以p2为顶点的直角?&*/&&&&&&&&else&if(check_angle(&points[0],&&points[2],&&points[3]))&&&&&&&&{&&&&&&&&&&&&/*&四个点顺序为:0-2-3-1&*/&&&&&&&&&&&&s01&=&sdistance(&points[0],&&points[2]);&&&&&&&&&&&&s12&=&sdistance(&points[2],&&points[3]);&&&&&&&&&&&&s23&=&sdistance(&points[3],&&points[1]);&&&&&&&&&&&&s30&=&sdistance(&points[1],&&points[0]);&&&&&&&&&&&&if&(s01&==&s12&&&&s23&==&s30&&&&s01&==&s23)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&Yes\n&);&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&printf(&No\n&);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&else&&&&&&&&{&&&&&&&&&&&&printf(&No\n&);&&&&&&&&}&&&&}&&&&return&0;}
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 483|回复: 14
高难度代码看不懂,请大神给一个注释。
阅读权限20
在线时间 小时
本帖最后由
08:52 编辑
非常感谢,“”帮我解决下面的问题。由于本人愚钝,再加初学菜鸟,实在无法看懂如下代码,求注释。外加一条新需求当本周某天的最高值大于上一周最高值,同时当本周某天的最低值大于上一周的最低值(I列)值为“1”。当本周某天的最高值小于上一周最高值,同时当本周的最低值小于上一周的最小值(I列)值为“-1”。其它情况为“0”,要求算日,周,月,季。在上面的基础上优化,谢谢。
下面是原需求:
我需要把每周最大值按由小到大排序,把每周最小值由大到小排序。举个例子:当周值最高列值为1、1.2、0.9、1.1、1.8变换后的数据为1、1.2、1.2、1.2、1.8
Dim d As Object, arr, brr
Dim i&, lr&, dat, dat1, dat2, f&
Set d = CreateObject(&scripting.dictionary&)
[f:h].ClearContents
f = InputBox(&请输入类别:& & vbCr & &周为1& & vbCr & &月为2& & vbCr & &季为3&, &输入类别&)
If InStr(&1,2,3,&, f & &,&) = 0 Then MsgBox &输入数值有误,请重新输入。&: Exit Sub
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr), 1 To 3)
For i = 3 To UBound(arr)
& & dat = LTrim(arr(i, 1))
& & Select Case f
& && &&&Case 1
& && &&&dat1 = Application.WeekNum(dat, 2) & &周&
& && &&&Case 2
& && &&&dat1 = Month(dat) & &月&
& && &&&Case 3
& && &&&dat1 = Month(Month(dat) & &0&) & &季度&
& & End Select
& & dat2 = Year(dat) & &第& & dat1
& & k = k + 1
& & If Not d.exists(dat2) Then
& && &&&d(dat2) = Array(arr(i, 2), arr(i, 3))
& && &&&Else
& && &&&x = d(dat2)
& && &&&If arr(i, 2) & x(0) Then x(0) = arr(i, 2)& &&&‘特别是X(0),X(1)是什么意思?
& && &&&If arr(i, 3) & x(1) Then x(1) = arr(i, 3)
& && &&&d(dat2) = Array(x(0), x(1))
& & End If
& & x = d(dat2)
& & brr(k, 1) = dat2
& & brr(k, 2) = x(0)
& & brr(k, 3) = x(1)
[f1].Resize(k, 3) = brr
Set d = Nothing
(141.02 KB, 下载次数: 0)
08:30 上传
08:39 上传
点击文件名下载附件
32.72 KB, 下载次数: 4
阅读权限20
在线时间 小时
& & & & & & & &
为什么没有人回答?
阅读权限50
在线时间 小时
没人能回答了,因为不知道x是什么,只能推测是数组,没看到定义。
阅读权限20
在线时间 小时
没人能回答了,因为不知道x是什么,只能推测是数组,没看到定义。
字典吧字典吧字典吧字典吧
阅读权限30
在线时间 小时
你先去学字典,自然就懂了
阅读权限20
在线时间 小时
你先去学字典,自然就懂了
数组与字典,看了半天也没有明白。
阅读权限100
在线时间 小时
对完全没有VBA基础的人解释代码,就如同一个老师要教一个小学生学高等数学,你知道的会有多难教。
如果一句也不懂又有强烈兴趣学VBA的,建议从看一本VBA入门书开始学习。
阅读权限50
在线时间 小时
对完全没有VBA基础的人解释代码,就如同一个老师要教一个小学生学高等数学,你知道的会有多难教。
如果一 ...
蓝老师教导极是!
阅读权限95
在线时间 小时
代码写的很清楚,x = d(dat2),也就是说,x代表字典当中关键字对应的项,而这个项是一个一只有两个元素的一维数组Array(arr(i, 2), arr(i, 3))
阅读权限20
在线时间 小时
本帖最后由
11:21 编辑
对完全没有VBA基础的人解释代码,就如同一个老师要教一个小学生学高等数学,你知道的会有多难教。
如果一 ...
此贴能得到蓝桥玄霜版主的查阅,小弟深感荣幸。在大学里学过C基础,工作中VBA比较用。开始学习,刚开始接触《别怕,Excel VBA其实很简单》,以为了解一二,兴许可以耍两把,那里知道上次大神给我回复了,我就看不懂了。但我很想实现我的功能,也想学习一下。刚才下载兰色幻想VBA基础入门视频资料开始学习,版主能否将小弟的功能实现,不胜感激。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师}

我要回帖

更多关于 求大神帮忙p图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信