刚学c语言,用的vs2017,下面这行代码输出结果不对,求大佬帮我看看

关于三角形面积公式的

#include<stdio.h>
#include<math.h>
void main()
{
    double a, b, c, s, area;
    scanf_s("%lf,%lf,%lf", &a, &b, &c);
    s = 1.0 / 2 * (a + b + c);
    area = sqrt(s*(s - a)*(s - b)*(s - c));
    printf("a=%7.2lf,b=%7.2lf,c=%7.2lf,s=%7.2lf\n", a, b, c, s);
    printf("area=%7.2lf\n", area);
    system("pause");
}

图片说明
图片说明
不管中间是逗号还是空格,写入的值都不对,这是啥情况?
还有就是求大佬说一下“%7.2lf”7.2的含义是什么

4个回答

代码是无误的,一定是运行后输入时漏输或者输错英文的逗号。
在scanf的引号里出现任何字符都是合法的,但输入时的输入格式必须和scanf()的格式控制字符串相对应。
%7.2lf中的7是数据长度为七个字符的意思,若数据长度不够的话,左补空格;.2是表示对实数小数点后保留两位的意思。

中间逗号,你用的是中文的逗号吧??

%7.2lf 输出宽度为7,保留两位小数的精度

输入逗号 是可以通过的,请注意输入的是英文逗号“,”还是中文逗号“,”

%7.2f 一般这么写,就是打印出浮点数总长度占7个字符的位置,其中保留两位小数
不足7位情况,前面补空格

兄 die 你的输入格式 应该是 3.0,4.0,5.0, 注意 要加上“,” 因为你的输入格式scanf里写的就是加上“,”

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
对于每一个输入,单独输出一行。如果该字符串是合法的IP,输出YES,否则, 输出NO
1.问题:IP地址判断 描述 在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性。合法的IP是这样的形式: A.B.C.D 其中A、B、C、D均为位于[0, 255]中的整数。为了简单起见,我们规定这四个整数中不会有前导零存在,如001这种情况。现在,请你来完成这个判断程序吧 输入 输入由多行组成,每行是一个字符串,输入由“End of file”结束。字符串长度最大为30,且不含空格和不可见字符。 输出 对于每一个输入,单独输出一行。如果该字符串是合法的IP,输出YES,否则, 输出NO 样例 输入 输出 202.115.32.24 YES a.b.c.d NO End of file 2.我自己写的一段代码 ``` #include <stdio.h> #include <string.h> int main() { char c[35]; int i, d1, d2, d3, mid, zhi1, zhi2, zhi3, zhi4, oo,gd=0, m; while (1) { for (i = 0; i <= 35; i++) { c[i] = -1; } //初始化 i = 0; m = 0; while (c[m] != '\n') { c[i] = getchar(); m = i; i++; } oo = m - 1; if (strcmp(c, "End of file") == 0) break; else { for (i = 0; i <= 35; i++) //字符转成数字 { c[i] = c[i] - 48; } for (i = 0; i <= oo; i++) { if ((c[i] >= 10 || c[i] < 0) && c[i] != '.' - 48) gd++; } if (gd != 0 || (c[oo] < 0 || c[oo]>9)) { mid = 0; goto end; } //找到小数点。格式不符合规范就结束 for (d1 = 0; d1 <= 35; d1++) { if (c[d1] == '.' - 48) break; } for (d2 = d1 + 1; d2 <= 35; d2++) { if (c[d2] == '.' - 48) break; } for (d3 = d2 + 1; d3 <= 35; d3++) { if (c[d3] == '.' - 48) break; } if (d1 == 36 || d2 == 36 || d3 == 36 || d1 == 0 || d2 - d1 == 1 || d3 - d2 == 1 || d1 >= 4 || d2 - d1 - 1 >= 4 || d3 - d2 - 1 >= 4 || oo - d3 >= 4) { mid = 0; goto end; } //下面判断输入的值是否符合规范 //第一段 if (d1 == 3) { if (c[0] == 0 || (c[0] == 0 && c[1] == 0)) { mid = 0; goto end; } else zhi1 = c[0] * 100 + c[1] * 10 + c[2]; } else if (d1 == 2) { if (c[0] == 0) { mid = 0; goto end; } else zhi1 = c[0] * 10 + c[1]; } else if (d1 == 1) { zhi1 = c[0]; } //第二段 if (d2 - d1 == 4) { if (c[d1 + 1] == 0 || (c[d1 + 2] == 0 && c[d1 + 1] == 0)) { mid = 0; goto end; } else zhi2 = c[d1 + 1] * 100 + c[d1 + 2] * 10 + c[d1 + 3]; } else if (d2 - d1 == 3) { if (c[d1 + 1] == 0) { mid = 0; goto end; } else zhi2 = c[d1 + 1] * 10 + c[d1 + 2]; } else if (d2 - d1 == 2) { zhi2 = c[d1 + 1]; } //第三段 if (d3 - d2 == 4) { if (c[d2 + 1] == 0 || (c[d2 + 1] == 0 && c[d2 + 2] == 0)) { mid = 0; goto end; } else zhi3 = c[d2 + 1] * 100 + c[d2 + 2] * 10 + c[d2 + 3]; } else if (d3 - d2 == 3) { if (c[d2 + 1] == 0) { mid = 0; goto end; } else zhi3 = c[d2 + 1] * 10 + c[d2 + 2]; } else if (d3 - d2 == 2) { zhi3 = c[d2 + 1]; } //第四段 if (oo - d3 == 3) { if (c[d3 + 1] == 0 || (c[d3 + 1] == 0 && c[d3 + 2] == 0)) { mid = 0; goto end; } else zhi4 = c[d3 + 1] * 100 + c[d3 + 2] * 10 + c[d3 + 3]; } else if (oo - d3 == 2) { if (c[d3 + 1] == 0) { mid = 0; goto end; } else zhi4 = c[d3 + 1] * 10 + c[d3 + 2]; } else if (oo - d3 == 1) { zhi4 = c[d3 + 1]; } if (zhi1 >= 0 && zhi2 >= 0 && zhi3 >= 0 && zhi4 >= 0 && zhi1 <= 255 && zhi2 <= 255 && zhi3 <= 255 && zhi4 <= 255) { mid = 1; } else { mid = 0; } end: if (mid == 0) printf("NO\n"); else printf("YES\n"); } } return 0; } ``` 我试过了各种能想到的情况都是符合题目要求的,但是oj只给我了10.5/30分,我不知道有什么情况没有考虑到,求大神指点^o^。 ------------------------------------------------------------------------------- 谢谢大家,解决问题了^o^,循环的过程里面有变量的值改变了,我忘了在循环开始的时候初始化。不过还是谢谢大家的想法,我学到了很多呢!
STM32C语言位操作符的知识
这些与或非,取反,异或,右移,左移这些到底怎么回事,这里我们就不多做详细,相信 大家学 C 语言的时候都学习过了。如果不懂的话,可以百度一下,非常多的知识讲解这些操作 符。下面我们想着重讲解位操作在单片机开发中的一些实用技巧。 1) 不改变其他位的值的状况下,对某几个位进行设值。 这个场景单片机开发中经常使用,方法就是先对需要设置的位用&操作符进行清零操作, 然后用|操作符设值。比如我要改变 GPIOA 的状态,可以先对寄存器的值进行&清零操作 GPIOA->CRL&=0XFFFFFF0F; //将第 4-7 位清 0 然后再与需要设置的值进行|或运算 GPIOA->CRL|=0X00000040; //设置相应位的值,不改变其他位的值 2) 移位操作提高代码的可读性。 移位操作在单片机开发中也非常重要,下面让我们看看固件库的 GPIO 初始化的函数里 面的一行代码 GPIOx->BSRR = (((uint32_t)0x01) << pinpos); 这个操作就是将 BSRR 寄存器的第 pinpos 位设置为 1,为什么要通过左移而不是直接设 置一个固定的值呢?其实,这是为了提高代码的可读性以及可重用性。这行代码可以 很直观明了的知道,是将第 pinpos 位设置为 1。如果你写成 GPIOx->BSRR =0x0030; 这样的代码就不好看也不好重用了。 类似这样的代码很多: GPIOA->ODR|=1<<5; //PA.5 输出高,不改变其他位 这样我们一目了然,5 告诉我们是第 5 位也就是第 6 个端口,1 告诉我们是设置为 1 了。 求教,此处对于十六进制的位操作运算是如何清零置数过程的,STM32小白求助
小白同学入门就遇到了槛,为什么比较三个数的大小输入后的值如此奇怪
刚刚开学学习c语言,检查代码没有发现问题呀,为什么输出这么怪![图片说明](https://img-ask.csdn.net/upload/201909/16/1568627571_998151.png) 下面附上小弟的代码,哎 #include <stdio.h> #include <stdlib.h> int main() { int max(int x,int y,int z); int a, b, c, t; scanf("%d,%d,%d",&a,&b,&c); t= max(a,b,c); printf ("max=%d\n",t); return 0; } int max(int x,int y,int z) { int t; if (x>y)t=x; else t=y; if (z>t)t=z; return t; }
关于C语言中的getchar(),小白请教一个问题。
小白重新学C语言。 准备把K&R的The C programming language从头到尾学一遍。 然后今天敲到getchar()时,为了做练习1-6:验证getchar()!=EOF 是0还是1,我就写了下面的代码: ``` main() { int thischar,test=0; char flag = 0; while ((thischar=getchar()) != EOF) { test = ((thischar = getchar()) != EOF); //Q1. printf("The value of condition after putchar(): %d \n", test); flag = 1; //if ((thischar = getchar()) != EOF); //test step while ((thischar = getchar()) != EOF && flag == 1) { putchar(thischar); //printf("\n"); } flag = 0; } ``` 输入“12345678”,输入就是“345678”。 缺少“12”。 我打开调试之后,发现thischar的值是这样变化的: ![breakpoint1](https://img-ask.csdn.net/upload/201609/19/1474293403_820140.png) ![breakpoint2](https://img-ask.csdn.net/upload/201609/19/1474293438_460937.png) 我查了ASCII码,对应的49,50就是1和2. 也就是说因为我多检测了两次 ``` (thischar = getchar()) != EOF ``` 这个。就导致我输出少了两个字符。我之后又试了试,以此类推,条件数量增多少,输出的字符就会少多少。 网上说getchar()函数的代码是这样的: ``` int getchar () { int result; _IO_acquire_lock (_IO_stdin); result = _IO_getc_unlocked (_IO_stdin); _IO_release_lock (_IO_stdin); return result; } ``` 我也查了寄存器的说明,但是还是不明白,为什么会造成这样的情况。和getchar()这个函数的定义有关系吗?如果没有,那是哪里出的问题呢? 感激不尽! ================== 追加: 谁能大概解释一下getchar()函数定义,用自然语言描述大概是什么样的过程? 以及: ``` while ((thischar=getchar()) != EOF) 01064C89 mov esi,esp 01064C8B call dword ptr [__imp__getchar (0106916Ch)] 01064C91 cmp esi,esp 01064C93 call __RTC_CheckEsp (01061113h) 01064C98 mov dword ptr [thischar],eax 01064C9B cmp dword ptr [thischar],0FFFFFFFFh 01064C9F je main+0D3h (01064D33h) { test = ((thischar = getchar()) != EOF); //Q1. 01064CA5 mov esi,esp 01064CA7 call dword ptr [__imp__getchar (0106916Ch)] 01064CAD cmp esi,esp 01064CAF call __RTC_CheckEsp (01061113h) 01064CB4 mov dword ptr [thischar],eax 01064CB7 cmp dword ptr [thischar],0FFFFFFFFh 01064CBB je main+69h (01064CC9h) 01064CBD mov dword ptr [ebp-0E8h],1 01064CC7 jmp main+73h (01064CD3h) 01064CC9 mov dword ptr [ebp-0E8h],0 01064CD3 mov eax,dword ptr [ebp-0E8h] 01064CD9 mov dword ptr [test],eax ``` 上面的EAX寄存器应该是存了getchar()的返回值,那后面这个值是怎么样被后续操作抹掉的?我不太懂。
Catch the cow(POJ3278) 编译器上没问题, OJ上一直runtime error?
[原题网址](http://poj.org/problem?id=3278 "Catch the cow") 下面是我已经在编译器上通过的代码,但是OJ上始终会RE (使用的是广度优先搜索的方法) ``` #include <stdio.h> #include <stdlib.h> #define MAX_N 100000 int n, k, ans; int que[MAX_N+10][2]; int vis[MAX_N+10]; int head, tail; void bfs( int x); void enqueue ( int x, int time); int main(void) { scanf("%d %d", &n, &k); if( n>k) { ans = n-k; } else { bfs(n); } printf("%d\n", ans); return 0; } void bfs( int x) { enqueue(x, 0); vis[x] = 1; while(head<tail) { int i, nowx, nowtime; nowx = que[head][0]; nowtime = que[head][1]; head ++; if( nowx == k) { ans = nowtime; break; } for( i=1; i<=3; i++) { if( i==1 && vis[nowx-1]!=1 && nowx-1>=0 && nowx-1 <= MAX_N) { enqueue( nowx-1, nowtime+1); vis[nowx-1] = 1; } if( i==2 && vis[nowx+1]!=1 && nowx+1>=0 && nowx+1 <= MAX_N) { enqueue( nowx+1, nowtime+1); vis[nowx+1] = 1; } if( i==3 && vis[nowx*2]!=1 && nowx*2>=0 && nowx*2 <= MAX_N) { enqueue( nowx*2, nowtime+1); vis[nowx*2] = 1; } } } } void enqueue( int x, int time) { que[tail][0] = x; que[tail][1] = time; tail ++; } ``` 一开始查了之后说可能是什么栈空间不够,就尝试了一下动态分配空间 (萌新还没学指针,就在网上照猫画虎贴了进去), 但是数字只要大一点程序就无法输出结果 更改后的代码如下: ``` #include <stdio.h> #include <stdlib.h> #define MAX_N 100001 int n, k, ans; //int que[MAX_N+10][2]; /*之前的方案,但同样RE了,可能是空间不足(?),所以尝试如下动态分配的方法*/ //int vis[MAX_N+10]; int head, tail; void bfs( int x, int **que, int *vis); void enqueue ( int x, int time, int **que); int main(void) { int **que; int i, j; int *vis; que = (int**)malloc(sizeof(int*)*MAX_N); //为两个数组分配空间 for( i=0; i<MAX_N; i++) { que[i] = (int*)malloc(sizeof(int)*2); } vis = (int*)malloc(sizeof(int)*MAX_N); scanf("%d %d", &n, &k); if( n>k) { ans = n-k; } else { bfs(n, que, vis); //进入深搜 } printf("%d\n", ans); return 0; } void bfs( int x, int **que, int *vis) { enqueue(x, 0, que); vis[x] = 1; while(head<tail) { int i, nowx, nowtime; nowx = que[head][0]; //队列数据的取出 nowtime = que[head][1]; head ++; if( nowx == k) //结束条件 { ans = nowtime; break; } for( i=1; i<=3; i++) //对三种可能进行遍历 { if( i==1 && vis[nowx-1]!=1 && nowx-1>=0 && nowx-1 <= MAX_N) { enqueue( nowx-1, nowtime+1, que); vis[nowx-1] = 1; } if( i==2 && vis[nowx+1]!=1 && nowx+1>=0 && nowx+1 <= MAX_N) { enqueue( nowx+1, nowtime+1, que); vis[nowx+1] = 1; } if( i==3 && vis[nowx*2]!=1 && nowx*2>=0 && nowx*2 <= MAX_N) { enqueue( nowx*2, nowtime+1, que); vis[nowx*2] = 1; } } } } void enqueue( int x, int time, int **que) //队列数据的写入 { que[tail][0] = x; que[tail][1] = time; tail ++; } ``` 请教一下大佬们上面RE的原因到底是什么, 还有下面的动态分配有什么问题,感激不尽
【c-WinAPI】 程序运行崩溃(自己写的函数出错),求大神帮忙!!!
# !!!各位这个问题不用看了,c币给错了,我重投了另一个问题,给了40币,大家可以用我的这个标题找到(只要在后面再填一个感叹号就是新的),抱歉!!! # 先行说明: ## 工程简要说明 说明下,这个工程一共5个文件(两个头文件,三个资源文件): 头文件中,一个是宏定义用文件【WinMacro.h】,另一个是函数声明用文件【WinHead.h】; 资源文件中,一个是窗口注册文件(基本可以忽略)【WinMain.c】,第二个是窗口过程文件【WinProc.c】,最后一个里是函数定义文件(主要出错的地方)【WinSupport.c】。 ## 编译器介绍 这里我用的是Dev c++ (v.5.11)编译器,有段时间入了学生联赛的坑,然后现在就有点停不下来,对VC没什么好感,emmm。 ## 对于ERROR的探索 我本来是希望用TextOut函数做一个模拟DrawText函数的新函数:TextPrint,后续还想给它添加一些独特的输出特效,不过现在看来都运行不了(一运行就立即报错,但是编译没问题),尴尬。 万恶的Dev c++调试功能有问题,找了很长时间解决办法之后,就调试了一下,结果就...完全看不懂了。 在下面我标注的【图6】第27行(WinSupport.c)这里单步调试会终止,并弹出显示: > program received signal SIGFPE, Airthmetic expection 然后会显示 Windows CPU 运行表(大概是这个叫法...),但还是看不懂。所以我后面修改了代码,把27、28行都改成了将那两个变量赋值为常数2,而不是即时计算。 顺便改了一下74行,把pcText换成了pChar (74行这里是自己发现的逻辑错误)。 现在各位看到的代码是最初的版本,上面的修改在下面附的代码里都未体现。不是说我懒的修改,而是因为我想把这里弄明白,到底是什么原因。 修改后的代码其实也有问题,那就是虽然可以运行,但是假如在一个矩形内输出了n(n>1)行,那么只有第一行能被保留(啊啊啊,要疯了!!!) ## 最终预期功能 嗯,这里在重申一下,那个TextPrint函数是低配版的DrawText函数,功能就是指定一个矩形,然后向矩形范围内输出(每行填满后自动换行)(假如要输出的内容填满了整个矩形都没有输出完,那就停止输出)。 ## 一些个人看法 自己也试了许多次,但就是不太清楚其中机理,只好劳烦各位“达人”了。 我是直接看书自学的WinAPI,没什么耐性,就先用刚学的新函数TextOut练练手, 所以...挖了个大坑。 个人感觉应该是WinAPI"可重入"的锅,但是实在是没有接触过面向对象的编程(只会一点C),so...... ## 致谢 (.-..-.)刚刚注册的号,学生党一枚,初次提问,言谢在先! # 源代码: 【WinMacro.h】: ```c #define CLASSNAME "Program: Get Seated" #define APPNAME "Tiny Spotlessness: The Seats" #define SIZE_101 SIZEOFSTRING #define SIZEOFSTRING 100 #define EMPTY INITIAL #define INITIAL 0 #define CXSCREEN GetSystemMetrics (SM_CXSCREEN) #define CYSCREEN GetSystemMetrics (SM_CYSCREEN) #define FAULTMSG_101 FAULTMSG_WNDNTNEEDED #define FAULTMSG_WNDNTNEEDED "Fault 101: WindowsNTneeded!" ``` 【图1】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562392986_229499.png) 【WinHead.h】: ```c /*---------------------------------------------------------------- Supporting Header Files -----------------------------------------------------------------*/ #include <windows.h> #include <stdbool.h> #include "WinMacro.h" /*---------------------------------------------------------------- Supporting Value Structions -----------------------------------------------------------------*/ /*---------------------------------------------------------------- Supporting Function Statements -----------------------------------------------------------------*/ LRESULT CALLBACK WndProc ( /*--------------------------------------*/ HWND hwnd, /* Stating the Main Window Process, */ UINT message, /* a special function with four para- */ WPARAM wParam, /* meters, using the other functions. */ LPARAM lParam /*--------------------------------------*/ ); int TextPrint( /*--------------------------------------*/ HDC hdc, /* Print on any place of rect, using */ RECT *pRect, /* a pointer to rect and a pointer to */ const TEXTMETRIC *pTm, /* the text metric, a string with */ const TCHAR *pcText, /* its length, and return the number */ int iLenth /* of the characters outputted. */ ); ``` 【图2】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393250_936313.png) 【图3】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393275_813852.png) 【WinMain.c】: ```c /*-------------------------------------- WinMain.c, (c) Shen Pengfei, 2019 --------------------------------------*/ #include "WinHead.h" int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow ) { TCHAR szClassName[] = TEXT (CLASSNAME); TCHAR szAppName[] = TEXT (APPNAME); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = EMPTY; wndclass.cbWndExtra = EMPTY; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); wndclass.lpszClassName = szClassName; wndclass.lpszMenuName = NULL; if (!RegisterClass (&wndclass)) { MessageBox ( NULL, TEXT (FAULTMSG_WNDNTNEEDED), szAppName, MB_ICONERROR ); return EMPTY; } hwnd = CreateWindow ( szClassName, /* window class name */ szAppName, /* window caption name */ WS_OVERLAPPEDWINDOW | WS_VSCROLL, /* window style */ INITIAL, /* initial x position */ INITIAL, /* initial y position */ CXSCREEN, /* initial x size */ CYSCREEN, /* initial y size */ NULL, /* parent window handle */ NULL, /* window menu handle */ hInstance, /* program instance handle */ NULL /* creation parameters */ ); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, EMPTY, EMPTY)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } ``` 【图4】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393472_122237.png) 【图5】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393485_726445.png) 【WinSupport.c】: ```c /*------------------------------------------------ (c) Shen PengFei, 2019 A file to set up some functions to complite some special tasks. -------------------------------------------------*/ #include "WinHead.h" int TextPrint ( HDC hdc, RECT *pRect, const TEXTMETRIC *pTm, const TCHAR *pcText, int iLenth ) { static int iLine; static int iRaw; static int iCount; static const TCHAR *pChar; /*-------------------------------------------- Count the width and the Height of the screen, by the way, creating a pointer copying the address of initial string ---------------------------------------------*/ iLine = (pRect->right - pRect->left) / pTm->tmAveCharWidth; iRaw = (pRect->bottom - pRect->top) / (pTm->tmHeight + pTm->tmExternalLeading); pChar = pcText; for ( iCount = INITIAL; /*------------------------------------------------ To prevent the number of charaters outputt -ed on the screen from overring the string's, check if the result value of [PCHAR minus PCTEXT] was not larger than the length of the string. And also, to prevent the strin -g's overring the initial rect, check if the raw number over the max value counted and called IRAW. -------------------------------------------------*/ pChar - pcText < iLenth && iCount <= iRaw; /*------------------------------------------------ Change the outputting address of each raw, the position of the changed pointer to the string and Add the cyclelatte times value in turn each time, to end the running in time. -------------------------------------------------*/ pRect->top += pTm->tmHeight + pTm->tmExternalLeading, pChar += iLine, iCount ++ ) { /*----------------------------------------------- Solve the special condition that outputted characters' last raw is not enough to make the whole raw full, while may cause that the stuffs behind the address of the string fluent the system running. ------------------------------------------------*/ if ( iLenth % iLine != EMPTY && iCount == iLenth / iLine ) iLine = iLenth % iLine; TextOut ( hdc, pRect->left, pRect->top, pcText, iLine ); } /* Return the initial value used in turn */ pRect->left = pRect->top = INITIAL; return pChar - pcText; } ``` 【图6】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393526_633017.png) 【图7】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393538_23024.png) 【图8】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393576_200998.png) 【WinProc.c】: ```c /*----------------------------------------------- (c) Shen Pengfei, 2019 A file to create a series of windows, used by WINMAIN.C . ------------------------------------------------*/ #include "WinHead.h" LRESULT CALLBACK WndProc ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { static int cxChar; static int cyChar; static RECT rectPrint; static TCHAR szText [SIZEOFSTRING]; HDC hdc; RECT rect; PAINTSTRUCT ps; TEXTMETRIC tm; switch (message) { case WM_CREATE: rectPrint.left = INITIAL; rectPrint.top = INITIAL; rectPrint.right = CXSCREEN; rectPrint.bottom = CYSCREEN; hdc = GetDC (hwnd); /*----------------------------------------- To get the text parameters on its width and height (may with the external leading). ------------------------------------------*/ GetTextMetrics (hdc, &tm); cxChar = tm.tmAveCharWidth; cyChar = tm.tmHeight + tm.tmExternalLeading; ReleaseDC (hwnd, hdc); return EMPTY; case WM_SIZE : rectPrint.right = LOWORD (lParam); rectPrint.bottom = HIWORD (lParam); return EMPTY; case WM_PAINT: hdc = BeginPaint (hwnd, &ps); /* Debugging part */ TextPrint ( hdc, &rectPrint, &tm, szText, wsprintf ( szText, TEXT ("sdaf") ) ); EndPaint (hwnd, &ps); return EMPTY; case WM_DESTROY: PostQuitMessage (EMPTY); return EMPTY; } return DefWindowProc (hwnd, message, wParam, lParam); } ``` 【图9】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393610_312365.png) 【图10】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393619_968385.png)
跪求大神帮帮忙,都好说。。。
实验目的: 1. 掌握常用控件的属性、方法、事件 2. 掌握窗体的常用属性、方法和事件 3. 掌握Windows应用程序人机界面可视化设计方法 4. 掌握事件驱动模型的思想 5. 巩固C#语言中类的定义、继承、流程控制语句等基础知识 实验步骤: (1) 在.Net环境中建立Windows窗体应用程序; (2) 定义枚举类型 Public enum SexType {男, 女, 未知}; Public enum ProTitle (助教,讲师,副教授、教授、未知) Public enum StuTitle {班长,副班长,学委,学员} (3) 定义下面类  Person类(抽象类) 包含的字段:姓名Name(字符串型)、身高Height(单精度型,单位:米)、体重Weight(单精度,单位:kg)、性别Sex(枚举类型SexType) 包含的属性:身份证号ID(字符串型,长度固定为18,且不包含空格字符)、年龄Age(只读方法) 包含的方法: Public abstract void Saying(); //该方法为抽象方法 构造函数(带参数和不带参数的各定义一个): Public Person(){}; //在该构造函数对字段进行初始化,按默认值进行初始化,其中身份证号码初始化为“999999999999999999” Public person(string name, string id, float height, float weight, SexType sex) {}; //添加代码,利用实例化时传递的参数对类中的字段进行初始化 Public abstract void Write(FileStream fs); //功能:将数据保存到文件中 Public abstract void Read(FileStream fs); //功能:从文件中读取数据  Teacher类,该类从Person类继承 包含的字段:职称Title(ProTitle枚举类型)、课程Courses(集合类型,集合元素类型为字符串,访问控制符为private) 包含的属性:CourseNumber (数据类型:int,只读属性,含义:课程的数量) 包含的方法: Public string CourseAdd(string coursename) //增加一门课程,同一门课程不能重复添加 Public string CourseDelete(string coursename); //删除一门课程,当要删除的课程不存在时,应给出提示 对父类中的抽象函数Saying()进行重写;//在控制台上输出:“我正在讲课,不方便接电话” 对Object类中的虚函数ToString()进行重写;//将有关教师的所有信息整合成一个字符串,并返回。该虚函数在Object中的定义如下: Public virtual string ToString() 对父类的中Read()、Write()方法进行重写。(方法中的代码可暂时不写)  定义结构体 Public struct coursescore { String coursename; //课程的名称 Float score; //课程的成绩 }  定义学生类Student,从Person类派生 包含的字段:学号StuID(字符串类型,长度固定,以实际学号的长度为准)、课程成绩CourseScore(集合类型,集合中的元素类型为结构体coursescore,访问修饰符采用private)、学生身份title(类型为枚举类型StuTitle) 包含的属性: 课程门数CourseNumber,定义为只读属性,表示学生所选的课程门数 包含的方法: Public void CourseAdd(string coursename, float score); Public void CourseAdd(coursescore course); 上述2个方法为重载,功能是实现增加一门课程及该课程的成绩 对父类的中的Saying()进行重写,要求输出“我正在上课,不方便接电话” 对父类的中的Read、Write方法进行重写(方法体中可暂时不写代码) 增加如下方法: //功能:获取学生的所有课程的最高分、最低分和平均分 Public void GetScore(ref double HighScore, ref double LowScore, ref double AverageScore) 参数的含义: HighScore:所有课程中的最高分 LowScore:所有课程中的最低分 AverageScore:所有课程的平均分 对Object类中的虚函数ToString()进行重写,要求该方法将学生的所有信息整合为一个字符串,并返回  Document类 字段: Private List<string> CourseList; //存储课程列表 Private List<Person> PersonList; //存储学生和教师信息的列表 方法: Public Document(); //构造函数 Public void AddCourse(string CourseName) ;//增加课程 Pulic void DeleteCourse(string CourseName); //删除课程 Public void AddPerson(person personobj); //增加学生或教师 Public void DeletePerson(person persin); //删除学生或教师对象 Public void DeletePerson(string ID); //按照身份证号码删除教师或学生 Public person FindPerson(string ID); //按照身份证号码查找教师或学生对象 Public void SaveData(FileStream fs); //将数据保存到文件中 Public void ReadData(FileStream fs); //从文件中读取数据 属性: Public int TeacherNumber; Public int StudentNumber; 事件: Public event NumberChangingEventHandler onPersonNumberChanging;  委托 Public delegate void NumberChangingEventHandler(object sender, EventNumberArgs e);  EventNumberArgs类(用户传递事件参数) 字段: Public int teacherNumber; Public int studentNumber;
File类的一个奇怪现象
<pre name="code" class="java">import java.io.File; public class Test { public static void main(String[] args) { File a = new File("d:"); System.out.println(a.getAbsolutePath()); } }</pre> <br /><span style="font-size: medium">上面这段代码生成的程序, 放在d盘以外的其他盘, 输出的是 d:\ <br /><img src="http://dl.iteye.com/upload/attachment/504807/26ab59dd-d89f-3377-a2f3-acbaac4d6a00.png" /> <br /> <br />但是放在d盘的任一文件夹下, 输出就变成了程序所在的文件夹 <br /><img src="http://dl.iteye.com/upload/attachment/504803/d2c58017-6e96-3a00-87c9-eb34e9ed2705.png" /> <br /> <br />感觉像是JDK的BUG, 但我看了File的源码, 字符串的解析却不是在java里做的... 貌似是用JNI扔给了windows <br /> <br />大惑不解, 求教&nbsp;<img src="/images/smiles/icon_mad.gif"/> <br /></span><br/><strong>问题补充</strong><br/><div class="quote_title">IcyFenix 写道</div><div class="quote_div">…… <br />相对路径啊,只说明是D盘不够,要说明是D盘根目录 <br />就是改成下面这样 <br />File a = new File("d:/");&nbsp; </div> <br />那为什么程序在其他盘的时候不会被认为是相对路径呢<br/><strong>问题补充</strong><br/><div class="quote_title">IcyFenix 写道</div><div class="quote_div">放到其他盘也是相对路径啊,只不过相对路径正好是D盘根目录而已。</div> <br />相对路径不是相对于当前目录的路径麽, 怎么会相对到其他盘的根目录了呢...&nbsp;<img src="/images/smiles/icon_mad.gif"/> <br/><strong>问题补充</strong><br/><div class="quote_title">captmjc 写道</div><div class="quote_div">lz当年肯定没学过dos,dos下面运行一下如下命令 <br />E: <br />CD E:\1 <br />DIR D: <br />PAUSE <br />CLS <br />CD D:\1 <br />DIR D: <br />PAUSE <br /> <br /></div> <br />终于有人看懂我的问题了,果然是跟windows有关,兄台厉害&nbsp;<img src="/images/smiles/icon_idea.gif"/> <br />PS: 当年的确是没学过DOS,因为DOS风行当年我还在读幼儿园&nbsp;<img src="/images/smiles/icon_smile.gif"/>
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 万字申请,废话报告,魔幻形式主义大作怎么写?兄dei,狗屁不通文章生成器了解一下。这个富有灵魂的项目名吸引了众人的目光。项目仅仅诞生一周,便冲上了GitHub趋势榜榜首(Js中文网 -前端进阶资源教程)、是榜首哦
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
Spring Security 实战干货:基于注解的接口角色访问控制
1. 前言 欢迎阅读 Spring Security 实战干货[1] 系列文章 。在上一篇 基于配置的接口角色访问控制[2] 我们讲解了如何通过 javaConfig 的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方式 基于注解 。今天我们就来探讨一下。DEMO 获取方式在文末。 2. Spring Security 方法安全 Spring Security 基于注解的安全...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
MySQL数据库总结
一、数据库简介 数据库(Database,DB)是按照数据结构来组织,存储和管理数据的仓库。 典型特征:数据的结构化、数据间的共享、减少数据的冗余度,数据的独立性。 关系型数据库:使用关系模型把数据组织到数据表(table)中。现实世界可以用数据来描述。 主流的关系型数据库产品:Oracle(Oracle)、DB2(IBM)、SQL Server(MS)、MySQL(Oracle)。 数据表:数...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
张小龙-年薪近3亿的微信之父,他是如何做到的?
张小龙生于湖南邵东魏家桥镇, 家庭主要特点:穷。 不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。 家有兄弟两人, 一个小龙,一个小虎。 小虎好动,与邻里打成一片, 小龙好静,喜好读书。 “文静的像个妹子。”张小龙的表哥如是说。 穷文富武,做个读书郎是个不错的选择。 87年至94年, 华中科技大学本硕连读。 本科就读电信系, 不喜欢上课...
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问

相似问题

15
c语言细节理解--数组输出
6
c语言控制台输出中文乱码问题
6
c语言,把代码结果输出到E盘上一个叫1.txt的文本文档上
11
刚学C#,用VS2017,请问接下来怎么做?
3
求助,本人小白;用C语言怎么用2种不同思路输出OXE3的二进制?
2
C语言:第一行输入n,表示有n行,每一行第一个数字输入m,表示该行一共有m个加减符号和数字?
1
VS2017在编写C语言的时候 出现 意外的类型:int。
1
路径的选择,怎么用C语言实现的?输出结果是多行
2
使用vs2017 opencv实现2d到3d转换?
1
用C 语言编程,实现矩阵(3行3列)的转置(即行列互换)
2
如何把VS2017的文本代码含义(英文)改成中文?
1
输入一个3行4列的整数矩阵,计算并输出对角线上的元素之和
1
VC++用 VS2017实现内置SMTP本机直发邮件到收件箱的源代码有吗?
1
如何用C语言实现求给定矩阵的逆矩阵?
2
输入数据每行包括一个实数,表示球的半径。输出对应的球的体积,C语言
2
请求大神帮助解决这个C语言数塔的问题,输出结果怎么不对,谢谢
1
运用C语言技术,输出构成的最大的三角形的面积,结果保留两位小数
1
这个问题,用C语言输出构成的最大的三角形的面积,结果保留两位小数。
1
C语言新手问题scanf函数将字符串指针用%c的格式输出结果是什么?
2
c语言:有三个学生信息,放在结构体中,要求输出全部学生信息。这段代码错哪啦?