C++萌新请大佬帮忙解答

具体问题如下:
室内平面图设计程序
1)用户输入房间的长度和宽度,门、窗、家具的位置。放置规则:窗户和门必须在墙上且不能再拐角,窗户不能紧靠门,家具必须在室内且不能堵门。不合规则要提示重新输入;
2)根据上述参数绘制房间图样,墙用'#'表示,门用空格表示,窗户用'|'或'-'表示(前者在竖墙上,后者在横墙上),家具用'*'表示。
###-######

*

##########
这是一个10x7的房间,左上角坐标为(0,0),门在(9,2),窗在(3,0),家具在(2,4)

本人只能写到第1部分结束orz,实在不会写后面的,请大佬解答(目前只学到了函数的一点点,尽量不要用太高级的写法,写得好私戳我给红包)(示意图有误,大致理解即可)

c++

1个回答

图片说明

#include<iostream>
using namespace std;
int main(){
    int length, width;
    cout << "输入房间长度和宽度(以空格分隔,下同):";
    cin >> length >> width;
    char room[100][100];
    for (int i = 0; i < width; i++) {
        for (int j = 0; j < length; j++) {
            if (i == 0 || i == width - 1 || j == 0 || j == length - 1)
                room[i][j] = '#';
            else
                room[i][j] = ' ';
        }
    }
    int x, y;
    cout << "输入门的坐标:";
    cin >> x >> y;
    while (room[y][x]!='#' || ((x == 0 || x == length - 1) && (y == 0 || y == width - 1))) {
        cout << "门必须在墙上且不能再拐角,请重新输入:";
        cin >> x >> y;
    }
    int doorx = x, doory = y;
    room[y][x] = ' ';
    cout << "输入窗户的坐标:";
    cin >> x >> y;
    while (room[y][x] != '#' || ((x == 0 || x == length - 1) && (y == 0 || y == width - 1)) ||((x==0||x==length-1)&&(room[y-1][x]==' '||room[y+1][x]==' '))|| (y == 0 || y == width - 1) && (room[y][x+1] == ' ' || room[y][x-1] == ' ')) {
        cout << "窗户必须在墙上且不能再拐角,且不能紧靠门,请重新输入:";
        cin >> x >> y;
    }
    if (x == 0 || length == length - 1) 
        room[y][x] = '|';
    else
        room[y][x] = '-';

    cout << "输入家具的坐标:";
    cin >> x >> y;
    while (!(0<x&&x<length&&0<y&&y<width)||(y==doory&&abs(x-doorx)==1)||(x==doorx&&abs(y-doory)==1)) {
        cout << "家具必须在室内,且不能堵门,请重新输入:";
        cin >> x >> y;
    }
    room[y][x] = '*';

    //显示房间
    for (int i = 0; i < width; i++) {
        for (int j = 0; j < length; j++)
            cout << room[i][j];
        cout << endl;
    }
    return 0;
}

qq_40946921
Italink 回复qq_40946921: 我的while里面逻辑判断有点乱,如果你想让代码更直观一点的话,可以单独的写几个判断函数
大约一年之前 回复
qq_40946921
Italink 回复qq_40946921: 这个房间可以当成一个二维的数组,只要对这个数组进行操作就行了。如果不用数组的话,全靠坐标,就需要自己思考很多数学问题,所以不妨“粗暴”一点,把那些交给计算机去处理
大约一年之前 回复
qq_40946921
Italink 回复qq_43548756: 可以啊,用数组是为了方便描述,不用数组的话,逻辑运算更多,一不小心就出错了
大约一年之前 回复
qq_43548756
qq_43548756 很棒!请问有不用数组的写法吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++萌新请大佬帮忙解答
具体问题如下: 室内平面图设计程序 1)用户输入房间的长度和宽度,门、窗、家具的位置。放置规则:窗户和门必须在墙上且不能再拐角,窗户不能紧靠门,家具必须在室内且不能堵门。不合规则要提示重新输入; 2)根据上述参数绘制房间图样,墙用'#'表示,门用空格表示,窗户用'|'或'-'表示(前者在竖墙上,后者在横墙上),家具用'*'表示。 ###-###### # # # # # # * # # # ########## 这是一个10x7的房间,左上角坐标为(0,0),门在(9,2),窗在(3,0),家具在(2,4) 本人只能写到第1部分结束orz,实在不会写后面的,请大佬解答(目前只学到了函数的一点点,尽量不要用太高级的写法,写得好私戳我给红包)(示意图有误,大致理解即可)
求AOE网的关键路径,希望有大佬帮忙解答
求大佬解答,我是按照一个大佬的https://blog.csdn.net/qq_25508039/article/details/75390192 这个的思路来做题的,但是却算不对答案。希望有大佬帮忙解答一下。 ![图片说明](https://img-ask.csdn.net/upload/201902/14/1550152569_693310.png) ![图片说明](https://img-ask.csdn.net/upload/201902/14/1550152768_708902.jpg)
小白,字符指针内存分配的问题,希望大佬帮忙解答一下
对于这样的情况: char *p="abcd"; printf("%c",p[2]); 结果就可以正常输出结果c 可是对于这样的情况: char *p; gets(p); printf("%c",p[2]); 输入字符串“abcd”,结果却无法输出结果, 这时需要用malloc函数为指针p分配内存,在定义指针下面加p=(char *)malloc(10*sizeof (char));就可以输出结果c了。 为什么第一种情况不需要分配内存,指针直接指向字符串首字母的存储地址,第二种却必须要分配内存呢? 新手,求大佬带,谢谢!
Java使用c3p0连接池报错,请大佬帮忙解答
问题如图,请问有没有人知道是怎么回事,该怎么解决啊![图片说明](https://img-ask.csdn.net/upload/201708/21/1503284876_30091.png)
熟悉操作系统开发的大佬帮忙解答一下问题吧
是这样的,我的毕设是写一个操作系统,可是我属于那种什么都不会的人,我目前有以前一个学长的代码,可是并不知道怎么运行,网上搜索总感觉找不到关键词,搜不到我想要的东西,就想来这里问问有没有人知道该怎么办,下面是我那个学长写的这个操作系统的开发流程 本操作系统的开发流程如下: a)利用编辑器(notepad++)编写C语言和汇编语言的源代码以及Makefile文件。 b)利用Windows下的编译工具将C语言和汇编语言的原代码编译为相应的机器码并规定固定名称。 c)利用Makefile语法将编译产生的机器码文件链接并用工具制作为软盘镜像。 d)利用qemu轻量级模拟器载入软盘镜像运行操作系统并测试功能。 有没有大佬能给我解答一下我应该安装哪些软件,如何运行这些代码,这个操作系统的完整代码导师已经给我了,但是我不知道该用什么软件运行,谢谢各位大佬
这是一个关于C++编译器的相关问题
![图片说明](https://img-ask.csdn.net/upload/201912/17/1576514380_493670.jpg) 这个界面,我敲不进去代码为啥呢? 求大佬们帮忙解答!!! 这个界面,我敲不进去代码为啥呢? 求大佬们帮忙解答!!! 这个界面,我敲不进去代码为啥呢? 求大佬们帮忙解答!!!
使用C#怎么判断实现邮箱与手机号登录
需要在现有的用户名的基础再加一个手机号登录,这个需要怎么实现,麻烦各位大佬帮忙解答,包括sql server数据库的存储过程需要怎么判断给一点点提示就好,个人没头绪
c语言 请问a=3,a++,a+5,a*6是怎么计算的,结果是多少,优先级是怎样的?
逗号表达式的优先级是从左到右吗? 答案是24,求各位大佬帮忙解答一下。
这个一个关于C语言 的三目运算符和选择结构的问题
三目运算符大大减少了代码量,他和选择结构一样吗? 是不是所有的选择结构都可以转换成三目运算呢? 请大佬们帮忙解答一下
这是一个计算机组成原理CPU连接的相关问题
https://blog.csdn.net/u014106644/article/details/93378067 上面那个是CPU连接存储器题目地址、 ![图片说明](https://img-ask.csdn.net/upload/201912/23/1577114187_79937.png) 画红色圈的电路,是如何设计出来的呢,求大佬们帮忙解答,
ESP8266与STC89C51单片机通信,为什么单片机可以向ESP8266发送AT指令,但ESP8266发送的数据单片机接收不到?
最近学习APP与单片机通过ESP8266通信,ESP8266做服务器,APP能将数据发送到ESP8266,但ESP8266不能发送给单片机,请各位大佬帮忙解答一下。下面是代码。万分感谢 ``` void UartConfiguration() { TMOD |=0x20; //方式2 TH1=0xfd; //波特率9600 TL1=0xfd; // PCON=0x00; //波特率不加倍 SCON=0x50; // EA=1; // ES=1; // TR1=1; // TI=1; } void connect_init() { printf("AT+CIPMUX=1\r\n"); DelayMs(30000); printf("AT+CIPSERVER=1,8080\r\n"); } //重写putchar() char putchar(char ch) { ES=0; SBUF=ch; while(TI==0); TI=0; ES=1; return 0; } void ESP8266_init() { UartConfiguration(); TI=0; //等待发送完成 connect_init(); } void ESP_UART() interrupt 4 { static uchar i=0; if(RI==1) { RI=0; Recive_table[i]=SBUF; led3 = ~led3; sendByte(Recive_table[i]); i++; if((Recive_table[i-1]=='\n')) { Recive_table[i]='\0'; i=0; } } else TI=0; } ```
C语言线性表合并问题报错
![图片说明](https://img-ask.csdn.net/upload/201908/03/1564805785_267083.png) 1.图中这种问题怎么解决? 2.引用头文件,比如#include "helper.h" 这种也会报错 是什么原因呢? 是不是有什么资源库没有下载呢? 3.调用函数方法没有自动提示,C语言都是需要自己一个代码挨着敲吗? 刚学C,希望有耐心的大佬帮忙解答!
关于ccf 2015年12月份 第四题的提点疑问,求大佬解答
下面的是这个题目,应该就是一个一个关于欧拉通路的题目我感觉分为两步: 1.判断是不是欧拉通路 2.如果是欧拉通路,找到end点 3.从1开始找最小权重路径 感觉逻辑应该是对的,代码用了几组数据测试也是对的,但是最后提交了只有10分,很尴尬,求大佬帮忙看看哪里有问题 下面是题目: ![图片说明](https://img-ask.csdn.net/upload/201910/18/1571379365_609151.jpg) ![图片说明](https://img-ask.csdn.net/upload/201910/18/1571379421_849560.jpg) ![图片说明](https://img-ask.csdn.net/upload/201910/18/1571379446_582377.jpg) 下面是我的代码(c++) ``` --c++ #include<iostream> #include<vector> #include<algorithm> using namespace std; struct Node { int myself; vector<int> road_to; }; int Min(vector<int> V) { int min=V[0]; for(int n=1;n<V.size();n++) if(V[n]<min) min=V[n]; return min; } //从1开始遍历,每次寻找都是没走过的/下一个节点最小的路径 void Dsf(Node *N,int end) { int next=0;Node node=N[1]; while(node.myself!=end||node.road_to.size()!=0) { cout<<node.myself<<' '; next=Min(node.road_to); //删去这条路径(表示已经遍历过) vector<int>::iterator iter=find(N[node.myself].road_to.begin(),N[node.myself].road_to.end(),next); N[node.myself].road_to.erase(iter); iter=find(N[next].road_to.begin(),N[next].road_to.end(),node.myself); N[next].road_to.erase(iter); node=N[next]; } cout<<end; } int main() { int node_num=0,road_num=0; cin>>node_num>>road_num; node_num++; Node *N=new Node[node_num]; for(int n=1;n<node_num;n++) N[n].myself=n; for(int n=0;n<road_num;n++) { int tem1=0,tem2=0; cin>>tem1>>tem2; N[tem1].road_to.push_back(tem2); N[tem2].road_to.push_back(tem1); } //看看除了1还有几个奇度数的节点(1若是奇数,flag必须为1,1若是偶数,flag必须为0,end初始化为1) int flag=0,end=1; for(int n=1;n<node_num;n++) { if(N[n].road_to.size()%2!=0&&n!=1) { flag++;end=n; } } //判断是都是欧拉通路 if(!(flag==1&&N[1].road_to.size()%2!=0)&&!(flag==0&&N[1].road_to.size()%2==0)) { cout<<-1; return 0; } //寻找最短路径 Dsf(N,end); return 0; } ```
这是一个关于计算机组成原理的相关问题
![图片说明](https://img-ask.csdn.net/upload/201912/19/1576744718_553096.png) ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576744807_840314.png) 第一个图是CLA指令解释图,第二个是CPU具体实现CLA指令方法,CLA指令是按照黑色加粗线走的。我不太明白第一幅图的译码和测试在第二幅中如何体现,希望大佬们帮忙解答
ESP8266在51单片机上作为客户端连接不到电脑的TCP sever
电脑和ESP8266连接的都是手机热点 ESP8266也已经连接到手机热点上了 但是就是无法连接到电脑上的TCP sever![图片说明](https://img-ask.csdn.net/upload/201912/02/1575222411_140038.png) ESP8266之前用usb转ttl单独试过了是可以正常作为客户端连接到电脑上的TCP sever的 也能通过串口助手发送信息到电脑上 AT指令和代码里的一样 但是放在51单片机上就不行了![图片说明](https://img-ask.csdn.net/upload/201912/02/1575222454_945390.png) 希望能有大佬来帮忙解答一下 感激不尽
c语言课程设计——数据统计程序
希望哪位大佬帮忙解答一下,谢谢![图片](https://img-ask.csdn.net/upload/201706/09/1497017750_796336.png)
Notepad++运行C++控制台程序时如何显示窗口
我在Notepad++内编译运行C++控制台程序时,输入输出都被Notepad++的控制台接管了。指令为"$(CURRENT_DIRECTORY)\$(NAME_PART).exe" ![图片说明](https://img-ask.csdn.net/upload/201910/06/1570350414_53409.jpg) 我希望能实现下图直接运行exe程序的效果,弹出一个新的窗口,应该怎么做? ![图片说明](https://img-ask.csdn.net/upload/201910/06/1570350431_411253.jpg) 另外我还遇到一个问题, cmd \k "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" 这个指令的效果是直接在Notepad++指令台启动了cmd而忽略了我的程序。 ![图片说明](https://img-ask.csdn.net/upload/201910/06/1570350559_355265.jpg) 两个问题希望有大佬能帮忙解答一下,感谢。
在C里面嵌套汇编完成两个16进制数的相加为什么结果不对啊?
代码如下: ``` #include <stdio.h> void main() { unsigned char ch,ch1,ch2; //BYTE ch,ch1,ch2; ch=0x20; ch1=0x10; _asm mov al,ch _asm mov bl,ch1 _asm add al,bl _asm mov ch2,al printf("%x",ch2); } ``` 最后的输出是10,结果显然不对。。。有没有大佬帮忙解答一下。
文件处理相关的问题,求解答!怎么解啊??
我这代码写出来会陷入死循环不知道为啥。。。有大佬能帮忙看看吗 题目是显示一个清单显示工具的数量,名称,号码,成本,需要用文件的相关知识,程序需要能罗列,删除,覆盖,加入数据 // wenj.cpp : Defines the entry point for the console application. // #include "stdafx.h" struct Tools { unsigned int record; char name[20]; unsigned int number; double cost; };//定义结构体储存工具相关信息 void textfile(FILE *readptr); void deleterecord(FILE *fptr); void newrecord(FILE *fptr); int main(int argc, char* argv[]) { FILE *cfptr; if((cfptr=fopen("hardware.dat","wb"))==NULL) { printf("文件不能打开\n"); } else { struct Tools blanktool={0,"",0,0}; int i=0; for(i=0;i<100;i++) { fwrite(&blanktool,sizeof(struct Tools),1,cfptr); } }//先储存100条空记录 int j=0; for(j=0;;j++) { int choice; printf("输入你的选择\n"); printf("1表示保存\n2表示更新数据\n3表示加入数据记录\n4表示删除数据\n5表示结束程序\n?"); scanf("%d",&choice); if(choice==1) { textfile(cfptr);continue;//输入1表示保存txt文件 } else if(choice==2) { deleterecord(cfptr); newrecord(cfptr);//输入2表示删除一条旧的记录并保存一条新的记录 continue; } else if(choice==3) { newrecord(cfptr);continue;//输入3表示输入一条新纪录 } else if(choice==4) { deleterecord(cfptr);continue;//输入4表示删除某一条记录 } else { break; }//输入相关选择 } fclose(cfptr); return 0; } void textfile(FILE *readptr)//保存txt文件 { FILE *writeptr; if((writeptr=fopen("hardware.txt","w"))==NULL) { printf("文件无法打开\n"); } else { rewind(readptr); fprintf(writeptr,"%d %-20s %d %lf\n","record","name","number","cost"); while(!feof(readptr)) { struct Tools gongjv={0,"",0,0}; int result=fread(&gongjv,sizeof(struct Tools),1,readptr); if(result!=0&&gongjv.record!=0) { fprintf(writeptr,"%d %-20s %d %d\n",gongjv.record,gongjv.name,gongjv.number,gongjv.cost); } } fclose(writeptr); } } void deleterecord(FILE *fptr)//删除记录 { printf("输入你想删除的工具的序号1-100\n"); int num; scanf("%d",&num); fseek(fptr,(num-1) *sizeof(struct Tools),SEEK_SET); struct Tools gongjv; fread(&gongjv,sizeof(struct Tools),1,fptr); if(gongjv.record==0) { printf("记录不存在\n"); } else { fseek(fptr,(num-1) *sizeof(struct Tools),SEEK_SET); struct Tools blanktool={0,"",0,0}; fwrite(&blanktool,sizeof(struct Tools),1,fptr); } } void newrecord(FILE *fptr)//输入新记录 { printf("输入你想加入的工具的序号1-100\n"); int num; scanf("%d",&num); fseek(fptr,(num-1) *sizeof(struct Tools),SEEK_SET); struct Tools gongjv={0,"",0,0}; fread(&gongjv,sizeof(struct Tools),1,fptr); if(gongjv.record!=0) { printf("该记录非空\n"); } else { printf("输入数据\n"); scanf("%-20s %d %d\n",&gongjv.name,&gongjv.number,&gongjv.cost); gongjv.record=num; fseek(fptr,(gongjv.record-1)*sizeof(struct Tools),SEEK_SET); fwrite(&gongjv, sizeof(struct Tools),1,fptr); } }
“/”应用程序中的服务器错误。
本人是个刚入坑的小白,在网上download了一个网站的源码,在假设的时候遇到了这个问题,整了好久都没整明白 是啥回事- -,有大佬帮忙看下吗?![图片说明](https://img-ask.csdn.net/upload/201909/05/1567623385_340184.png) 求好心的大佬帮忙解答一些,感激不尽!!! IIS 应用池是选的 NET v4.5 这个是网站的web.config文件源代码。 ``` <?xml version="1.0" encoding="UTF-8"?> <configuration>     <system.webServer>  <rewrite>   <rules>   <rule name="OrgPage" stopProcessing="true">   <match url="^(.*)$" />   <conditions logicalGrouping="MatchAll">   <add input="{HTTP_HOST}" pattern="^(.*)$" />   <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />   <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />   </conditions>   <action type="Rewrite" url="index.php/{R:1}" />   </rule>   </rules>  </rewrite>     </system.webServer> </configuration> ```
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
前端 | 2. 正则
转载请注明以下: 本文转自清自以敬的博客:https://blog.csdn.net/qq_45791147 文章目录1.转义2.正则表达式初步2.1.匹配字符2.1.1.组成元素2.1.2.基础正则的设计 1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转义...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
Docker 从入门到掉坑
Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点: docker自身也有着很多的优点,关于它的优点,可以总结为以下几项: 安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Doc...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问