c语言中关于末尾空格的问题

懒得截图了。题目是输出某一范围内的素数,按每行10个输出,代码没有问题,问题是输出要求每两个数之间有一个空格键,开头没有空格,末尾没有空格,该怎么写printf?

c c++

4个回答

%b 退格 ,即可删除末尾空格

qq_36722997
qq_36722997 额,%b放在哪里,你能把完整的printf里的内容写一遍吗
大约 3 年之前 回复
for(int i=0;i<max;i++)
{
    if(i==0)printf(a[i]);
    else printf(" "+a[i]);
}

如果是数组输出的话可以判断下标,若是第0个则只输出这个元素,否则在前面加一个空格,如果不是数组,思路也类似,用一个变量计数就可以了

qq_36722997
qq_36722997 怎么定义a呢,总不能凭空冒出a吧
大约 3 年之前 回复
Runner__1
T_world 妈呀,代码写错了,写cout写习惯了,就是那个意思,你写对应的printf就可以了
大约 3 年之前 回复

int num = 0;
cin>>num;
vector prime;
for (int i = 2; i <= num; ++i) {
if (isPrime(i)) {
prime.push_back(i);
}
}
for(int i = 0; i < prime.size(); i++)
{
if(i==0)printf("" + prime[i]);
else printf(" "+prime[i]);
}
写这么多年代码真没用过几次printf

for (int i = 0;i < 20;i ++)
{
    if (i % 5 == 4)
    {
        printf("%d\n",i);
    }
    else
    {
        printf("%d ",i);
    }       
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
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 **输出样例 ** ``` * /-\ /-| |-\ * /---| |---\ /-\ /-----| |-----\ /-| |-\ | | | | * /-\ * /-| |-\ * /-\ /---| |---\ /-\ /-| |-\ /-----| |-----\ /-| |-\ /---| |---\ | | | | | | ```
我写了一个题,但编译器提示有很多错误,希望帮忙改改谢谢
7-2 冒泡法排序 (20分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。 本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。 输入格式: 输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。 输出格式: 在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格。 输入样例: 6 2 2 3 5 1 6 4 输出样例: 2 1 3 4 5 6 #include<stdio.h> int bubble(int *a,int N,int K); #define max 10 int main() { int N,a[max],K,*a,i; scanf("%d%d",&N,&K); for(i=0;i<N;i++) scanf("%d",&a[i]); a=&a[0]; bubble(*a,N,K); for(i=0;i<N;i++){ if(i!=0) printf(" %d",*a+i); else printf("%d",*a);} } int bubble(int *a,int N,int K) { int m,temp,i; for(m=1;m<K;m++){ for(i=0;i<N-m;i++) { if(a[i]>a[i+1] { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } }
c语言题目二进制加法求指教
由键盘输入两个二进制正整数(均不超过2的31次方),计算输出它们的和(结果同样以二进制表示)。注:本题以字符串方式读取数据时, 务必使用scanf("%s", ....)的方式 输入格式 共两行,一行一个二进制正整数(务必使用scanf("%s", ....)的方式,以确保读入的串末尾不会含有空格及其它特殊字符) 输出格式 二进制形式的和 输入样例 1101 10 输出样例 1111
蓝桥杯C语言里面的一道题目
问题描述 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。 输入格式 要求程序首先输入一个整数N(N<100)表示后面数据行数。 接着读入N行数据。 每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行内和行末可能有多余的空格,你的程序需要能处理这些空格。 每个整数代表一个ID号。 输出格式 要求程序输出1行,含两个整数m n,用空格分隔。 其中,m表示断号ID,n表示重号ID 样例输入1 2 5 6 8 11 9 10 12 9 样例输出1 7 9 样例输入2 6 164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196 172 189 127 107 112 192 103 131 133 169 158 128 102 110 148 139 157 140 195 197 185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190 149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188 113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119 样例输出2 105 120 ``` #include<stdio.h> #include<stdlib.h> int main() { int a[100]={0},e,c,d,n,x=0,y=0,i,j,num=0,total=0; scanf("%d",&n); for(i=0;num<n;i++) { scanf("%d",&a[i]); total++; c=getchar(); if(c=='\n') { num++;continue; } d=getchar(); if(d!='\n') ungetc(d,stdin); else num++; } int min=0; for(i=0;i<total;i++) { if(a[i]<a[min]) min=i; } for(i=a[min];i<a[min]+total;i++) { int flag=0; for(j=0;j<total;j++) if(a[j]==i)flag+=1; if(flag==0)x=i; else if(flag==2) y=i; } printf("%d %d",x,y); system("pause"); return 0; } ``` 这个题目关键是每行末尾可能会有空格。。。我想了这种处理方法,然后在我的电脑上测试之后结果都对,但是提交到网上却是运行超时。。。。。。
这一题为什么报错了,有什么特殊例子吗
sen很喜欢一款叫做《VA-11 Hall-A: Cyberpunk Bartender Action》的游戏。中文名《VA-11 Hall-A: 赛博朋克酒保行动》。 VA-11 HALL-A:Cyberpunk Bartender Action是一款关于waifu,科技及后-反乌托邦生活,以灌醉顾客为宗旨的调酒师模拟游戏。 Jill是游戏中的一名调酒师。 调酒理所当然地需要原料。 酒吧有k种饮料提供,每种饮料由不同数量(按瓶计算)的特定原料调制而成。 当然,有人会嫌饮料不够喝,所以酒吧还提供大杯饮料。 饮料分为中杯和大杯。 当一种饮料所有原料的用料总数超过10瓶(>10)时,这就是大杯饮料了。否则就是中杯饮料。 中杯饮料如果要做成大杯饮料,所用的所有原料的用量需要翻倍(也就是*2)。 客人会要求饮料是否要大杯。 如果客人点的饮料本来就是大杯饮料却没有要求大杯时依然会给客人调制大杯饮料。 又到了要进货调酒原料的时候了。 明天准备进货特定的m种原料。 Jill拿到了今天的记录,总共有n个客人点了饮料。 Jill想你来写个程序计算今天m种原料总共用了多少,这样就能对应算出大概需要重新进货多少了。 还有需要注意的是,k种饮料的某种原料有可能不出现在需要进货的m种中。 而客人只能点酒吧有的饮料。 ---------下面的对话是没用的--------- 凩生 0:34:43这样大家肯定会玩这个游戏 凩生 0:34:51然后发现令人吃惊的事情 sdqe 0:35:04what 凩生 0:35:25大家会发现我的样例数据跟游戏里的完全一样 sdqe 0:35:31笑死 输入格式 第1行输入case数T(T<=350) 对于每个case,第1行输入n,m,k(n<=100,m<=20,k<=30) 第2~m+1行每行输入一个字符串,表示最后需要统计的原料。 第m+2~m+k+1行每行先输入一个字符串s(表示这个饮料的名称),再输入一个x,然后在该后输入x个字符串和数字代表需要的原料和需要的瓶数。 第m+k+2~m+k+n+1行每行输入一个字符串和一个数字(0或1)分别表示每一位客人点的饮料和是否需要大杯(1为要求大杯,0为不要求大杯)。 所有字符串的长度<=30,不含空格 保证原料和饮料的名称不会出现重复 输出格式 对于每个case输出一行m个数,按输入的原料顺序输出每种原料用了多少瓶,数字用空格隔开,末尾不能有多余空格。 输入样例 2 6 3 4 a b c q 2 a 1 b 3 w 3 c 1 a 2 b 1 e 1 a 3 r 3 c 2 b 2 d 2 q 1 q 0 e 0 w 1 r 0 r 1 24 5 24 Adelhyde Bronson_Extract Powdered_Delta Flanergide Karmotrine Bad_Touch 4 Bronson_Extract 2 Powdered_Delta 2 Flanergide 2 Karmotrine 4 Beer 5 Adelhyde 1 Bronson_Extract 2 Powdered_Delta 1 Flanergide 2 Karmotrine 4 Bleeding_Jane 3 Bronson_Extract 1 Powdered_Delta 3 Flanergide 3 Bloom_Light 4 Adelhyde 4 Powdered_Delta 1 Flanergide 2 Karmotrine 3 Blue_Fairy 3 Adelhyde 4 Flanergide 1 Karmotrine 1 Brandtini 3 Adelhyde 6 Powdered_Delta 3 Karmotrine 1 Cobalt_Velvet 3 Adelhyde 2 Flanergide 3 Karmotrine 5 Crevice_Spike 3 Powdered_Delta 2 Flanergide 4 Karmotrine 1 Fluffy_Dream 3 Adelhyde 3 Powdered_Delta 3 Karmotrine 1 Fringe_Weaver 2 Adelhyde 1 Karmotrine 9 Frothy_Water 4 Adelhyde 1 Bronson_Extract 1 Powdered_Delta 1 Flanergide 1 Grizzly_Temple 4 Adelhyde 3 Bronson_Extract 3 Powdered_Delta 3 Karmotrine 1 Gut_Punch 3 Bronson_Extract 5 Flanergide 1 Karmotrine 1 Marsblast 4 Bronson_Extract 6 Powdered_Delta 1 Flanergide 4 Karmotrine 2 Mercury_Blast 5 Adelhyde 1 Bronson_Extract 1 Powdered_Delta 3 Flanergide 3 Karmotrine 2 Moonblast 4 Adelhyde 6 Powdered_Delta 1 Flanergide 1 Karmotrine 2 Piano_Man 5 Adelhyde 2 Bronson_Extract 3 Powdered_Delta 5 Flanergide 5 Karmotrine 3 Piano_Woman 5 Adelhyde 5 Bronson_Extract 5 Powdered_Delta 2 Flanergide 3 Karmotrine 3 Piledriver 3 Bronson_Extract 3 Flanergide 3 Karmotrine 4 Sparkle_Star 3 Adelhyde 2 Powdered_Delta 1 Karmotrine 1 Sugar_Rush 3 Adelhyde 2 Powdered_Delta 1 Karmotrine 1 Sunshine_Cloud 3 Adelhyde 2 Bronson_Extract 2 Karmotrine 1 Suplex 3 Bronson_Extract 4 Flanergide 3 Karmotrine 3 Zen_Star 5 Adelhyde 4 Bronson_Extract 4 Powdered_Delta 4 Flanergide 4 Karmotrine 4 Bad_Touch 1 Beer 1 Bleeding_Jane 1 Bloom_Light 1 Blue_Fairy 1 Brandtini 1 Cobalt_Velvet 1 Crevice_Spike 1 Fluffy_Dream 1 Fringe_Weaver 1 Frothy_Water 1 Grizzly_Temple 1 Gut_Punch 1 Marsblast 1 Mercury_Blast 1 Moonblast 1 Piano_Man 1 Piano_Woman 1 Piledriver 1 Sparkle_Star 1 Sugar_Rush 1 Sunshine_Cloud 1 Suplex 1 Zen_Star 1 输出样例 10 17 8 87 66 62 74 102 ``` #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int T;//记录多少个case int i,n,m,k,x,j,p; scanf("%d",&T); while(T--) { int shu1[35]={0},c[35][35]={0},e[105]={2},num[105]={0},num1[35]={0};//每种需要的材料 //所要的酒的名字 char a[35][35],b[35][35][35],d[35][35],g[105][35];//所要记录的字符,用了的材料,酒的名字 scanf("%d%d%d",&n,&m,&k); for(i=0;i<m;i++) scanf("%s",a[i]); for(i=0;i<k;i++) { scanf("%s",d[i]); scanf("%d",&x); for(j = 0;j < x;j++) { scanf("%s",b[i][j]); scanf("%d",&c[i][j]); num[i]=num[i]+c[i][j];//计算是否有十个 } } for(i=0;i<n;i++) { scanf("%s",g[i]); scanf("%d",&e[i]); for(j=0;j < k;j++) { if(strcmp(d[j],g[i])==0) { shu1[j]++; if(num[j]<=10 && e[i]==1) shu1[j]++;//没有十个的大杯加一 } } } for(i = 0;i < m;i++) { for(j = 0;j < k;j++) { for(p=0;c[j][p]!=0;p++) { if(strcmp(a[i],b[j][p])==0) num1[i]=num1[i]+shu1[j]*c[j][p]; } } } for(i=0;i<m;i++) { printf("%d",num1[i]); if(num1[i+1]==0&&T!=0) printf("\n"); else printf(" "); } } return 0; } ```
PAT乙级 说反话 请问是哪里错了
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello ``` #include<stdio.h> #include<string.h> int main (){ char n[80], ans[80]; int len, i, j, k = 0, s = 0; gets(n); len = strlen(n); for(i = len - 1;i >= 0;i--){ if(n[i] == ' '){ j = i + 1; while(n[j] != ' '&&n[j] != '\0'){ ans[k++] = n[j]; j++; } ans[k++] = ' '; } } while(n[s] != ' '){ ans[k++] = n[s]; s++; } ans[k] = '\0'; printf("%s\n", ans); return 0; } ```
C语言输入不会,求指教
按如下图形打印杨辉三角,其特点是两个腰上的数都为1,其他位置上的每一个数是它上 一行相邻两个整数之和。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 . . . Input 包含多组数据。每组数据占一行。 输入n(0 < n <= 20)表示输出杨辉三角的行数。 Output 对于每组测试数据,输出n行杨辉三角。 格式要求: 每个数字宽6个字符。请使用 printf("%-6d", a); 每行末尾无空格。 Sample Input 5 Sample Output 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
好像大佬们帮萌新看一下 洛谷只AC了前四个 第五个坠机了
P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。 输入格式 四行字符,由大写字母组成,每行不超过100个字符 输出格式 由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。 输入输出样例 输入 #1 复制 THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO! 输出 #1 复制 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 说明/提示 每行输出后面不允许出现多余的空格。 ``` #include<stdio.h> #include<string.h> int main() { char a[4][1000];/*存放4个字符串*/ int i,j,k,t,ji[26]={0},max,len=0;/*ji数组统计每个字母出现的次数 max统计最多出现的字母次数 len统计字符串长度*/ for(i=0;i<4;i++) { gets(a[i]); } for(i=0;i<4;i++) { len=strlen(a[i]); for(j=0;j<len;j++) { if(a[i][j]>='A'&&a[i][j]<='Z')/*判断计数*/ { t=a[i][j]-'A'; ji[t]++; } } } max=0; for(i=0;i<26;i++) { if(max<ji[i])/*将计数数组中的最大值赋值给max*/ { max=ji[i]; } } for(j=max;j>=1;j--)/*从上往下打印*和空格*/ { for(i=0;i<26;i++) { if(ji[i]>=j) { printf("*"); if(j!=25) { printf(" "); } } else { printf(" "); if(j!=25) { printf(" "); } } } printf("\n"); } for(i=0;i<26;i++)/*打印最后一行字母*/ { printf("%c",'A'+i); if(j!=25) { printf(" "); } } return 0; } ```
队列安排,用单链表写的,想问一下代码哪里有问题
一个学校里老师要将班上 N 个同学排成一列,同学被编号为 1∼N,他采取如下的方法: 先将 1 号同学安排进队列,这时队列中只有他一个人; 2−N 号同学依次入列,编号为 i 的同学入列方式为:老师指定编号为 i 的同学站在编号为1∼(i−1) 中某位同学(即之前已经入列的同学)的左边或右边; 从队列中去掉 M 个同学,其他同学位置顺序不变。 在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的编号。 输入格式 第 1 行为一个正整数 N(1≤N≤10^5),表示了有 N 个同学。 第 2∼N 行,第 i 行包含两个整数 k,p,其中 k 为小于 i 的正整数,p 为 0 或者 1。若 p 为 0,则表示将 i 号同学插入到 k 号同学的左边,p 为 1 则表示插入到右边。 第N+1 行为一个正整数 M(1≤M≤10 ^5),表示去掉的同学数目。 接下来 M 行,每行一个正整数 x,表示将 x 号同学从队列中移去,如果 x 号同学已经不在队列中则忽略这一条指令。 输出格式 一行,包含最多 N 个空格隔开的正整数,表示了队列从左到右所有同学的编号,行末换行且无空格。 输出时每行末尾的多余空格,不影响答案正确性 样例输入 4 1 0 2 1 1 0 2 3 3 样例输出 2 4 1 ``` #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<iostream> using namespace std; typedef struct student { int id; struct student* pNext; }NODE, *PNODE; PNODE create_list(void); void insert_list(PNODE, int, int); void traverse_list(PNODE); void delete_list(PNODE, int); int main() { PNODE pHead = NULL; pHead = create_list(); int m, x; cin >> m; for (int i = 0; i < m; i++) { cin >> x; delete_list(pHead, x); } traverse_list(pHead); } PNODE create_list(void) { PNODE pHead = (PNODE) malloc (sizeof(NODE)); if (NULL == pHead) { printf("head分配内存失败"); exit(-1); } PNODE pNew = (PNODE) malloc (sizeof(NODE)); if (NULL == pNew) { printf("new分配内存失败"); exit(-1); } int i = 1; pNew->id = i; pHead->pNext = pNew; pNew->pNext = NULL; int n, pos, f; cin >> n; for (i = 2; i <= n; i++) { scanf("%d %d", &pos, &f); if (f == 0) { insert_list(pHead, i, pos); } else { insert_list(pHead, i, pos+1); } } return pHead; } void insert_list(PNODE pHead, int data, int pos) { int i = 0; PNODE p = pHead; while (NULL != p && i < pos-1) { p = p->pNext; ++i; } if (i > pos-1 || NULL == p) return; PNODE pNew = (PNODE) malloc (sizeof(NODE)); if (NULL == pNew) { printf("new分配内存失败"); exit(-1); } pNew->id = data; PNODE q = p->pNext; p->pNext = pNew; pNew->pNext = q; return ; } void delete_list(PNODE pHead, int num) { int flag = 0; PNODE p = pHead->pNext; while (NULL != p) { if (p->id == num) { flag = 1; break; } p = p->pNext; } if (!flag) return; PNODE q = p->pNext; p->pNext = p->pNext->pNext; free(q); return; } void traverse_list(PNODE pHead) { PNODE p = pHead->pNext; while (NULL != p) { printf("%d ", p->id); p = p->pNext; } cout << endl; return; } ``` 输到最后一个三的时候程序就终止了我觉得可能是delete_list()函数里的问题,请大家帮忙看看哪里出错了
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
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)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱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 进程负责处...
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...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
27 个提升开发幸福度的 VsCode 插件
作者:Jsmanifest 译者:前端小智 来源:Medium Visual Studio Code(也称为VSCode)是一种轻量级但功能强大的跨平台源代码编辑器, 借助对TypeScript 和Chrome调试器等开发工具的内置支持,越来越多的开发都都喜欢使用它。 如果你正在寻找更多的好用的 VsCode 工具,那么这篇或许能够帮助你。以下是 2019年为 JS 开发者提供的26...
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
立即提问