将字符串按照字母顺序输出

将字符串按照字母顺序输出,大写字母在小字字母的前面,并统计出出现最多的字符及出现的次数(必须使用一种设计模式),在线等,请大神帮助:

例:String str = “gjhgjhlHello”;
输出:eHllo, l=3

1个回答

1,调用这个toCharArray方法编程数组:例子:char[] w = str.toCharArray();
2,对W的字符串的ASCII进行排序,可解决字母排序输出
3,建立一个类{int ascii;int time},用数组记录每个字的ascii和出现的次数 最后排序就做出来了

shuanger_
Cheng_Han 没看到设计模式,不好意思我觉得没有设计模式也不错。如果是任务随意加一个工厂模式和单子模式来建立第三问的数组吧~
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
输入字符串a,用指针,将其中数字,字母分别剔除并按原来顺序字符串b和c里,最后分别输出a,b,c三个字符串
/*指针应用之字符分捡 这是题目,接下来是我的代码 输入一个字符串a,使用指针,将其中数字,字母分别剔除并按原来顺序保存在新的字符串b和c里,最后分别输出a,b,c三个字符串,为了保证不输出空行,程序在每个输出串前添加了一个空格。 输入输出样例: 123abc#$abc456 result: #$ 123456 abcabc 程序的主要框架已经给出,请仅在 ********** Begin ********** ********** End *********** 注释对之间的空行中添加你的代码,任何修改该两行注释,以及修改注释外代码均将被判失败 f函数内部已经定义好变量和输入输出,你的代码中只能利用已经定义的变量,禁止定义新的变量。 程序的输入输出已经写好,你的代码不需要执行输入输出功能。 */ #include <stdio.h> #include <ctype.h> #define N 256 #define BUFSZ N void f() { char a[N],b[N],c[N],*p1,*p2,*p3,*p; gets(a); /********** Begin **********/ /********** End ***********/ printf("result:\n"); printf(" ");puts(a); printf(" ");puts(b); printf(" ");puts(c); } int main() { f(); return 0; } 我的代码: /********** Begin **********/ p=&a[0]; for(p=0;p!='\0';p++) { if((*p<0||*p>9)&&(*p<'a'||*p>'z')&&(*p<'A'||*p>'Z')) {*p1=*p; p1++;} else if(*p>=0&&*p<=9) {p2=&b[0]; *p2=*p; p2++;} else if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) {p3=&c[0]; *p3=*p; p3++;} *p1='\0'; *p2='\0'; *p3='\0'; } /********** End ***********/ 输出来是![图片说明](https://img-ask.csdn.net/upload/201904/10/1554905188_469538.jpg)
C语言求助:输入一个字符串,将其中的字母字符输入一个链表,将其中的数字字符输入另一个链表。
输入一个字符串,将其中的字母字符输入一个链表,将其中的数字字符输入另一个链表,要求程序能够按读入时相反顺序输出两个字符串。 知道用伪代码怎么实现,但是无法编出可以运行的代码,求大佬帮助。
php递归如何实现字符串的排列?
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
如何用Python实现输入的字符串所出现的各字母频率排序?
1:如何用Python实现输入的字符串所出现的各字母频率排序(降频排序)?2:相同频率的字母按照字母表顺序排列,比如b出现3次,a也出现3次,a要排在b前年输出。例子如图。![图片说明](https://img-ask.csdn.net/upload/201612/08/1481199466_889695.png)
1.2.7版本fastjson转字符串后key的排序,如何能完全按字母顺序排列?
之前使用fastjson的1.1.32版本,将字符串转json,然后toString后,各key是按字母顺序排列的,如下所示: JSONObject obj = JSONObject.parseObject("{\"command\":\"www\",\"sesID\":\"123456789\",\"content\":\"content\",\"params\":{\"aaa\":\"\",\"ccc\":\"ccc\",\"bbb\":\"bbb\"},\"title\":\"xxx_title\"}"); System.out.println(JSON.toJSONString(obj)); 输出结果是: {"command":"www","content":"content","params":{"aaa":"","bbb":"bbb","ccc":"ccc"},"sesID":"123456789","title":"xxx_title"} 但升级到最新版1.2.7后,输出结果为: {"content":"content","title":"xxx_title","sesID":"123456789","command":"www","params":{"aaa":"","ccc":"ccc","bbb":"bbb"}} 我查了下,貌似要添加一些参数,比如: Feature.OrderedField之类的,但是结果还是不和1.1.32版本的相同,所以想请教一下大家,如何设置参数才能使用1.2.7版本的fastjson时,toString时参数排序能和1.1.32版本一致,多谢!
输入字符串构建两个二叉搜索树
A tempting approach to maintaining a balanced binary search tree is to maintain two binary search trees and to insert each new key into the tree that will be more balanced. More specifically, do the following: The first key is the root of the left tree. The second key is the root of the right tree. To add a new key, insert it into the tree where it would have a smaller depth. If the depths of both trees are the same, then add it to the first tree.The input will be 5 strings (ignore everything but the letters A through Z and a through z; uppercase and lowercase are the same). For each input string, build the two trees with each string as described above. Print contents of the first tree in preorder (root, then the left child, then the right child). Sample Input: Line #1: AMERICAN COMPUTER SCIENCE Line #2: I must say that I find television very educational Line #3: INTERMEDIATE DIVISION Sample Output: Output #1: A A E C C E E N I P S Output #2: I A A A A I D D C E E I U T T S R U Y V Y Output #3: I E E A I I I T T V 维护一个平衡的二叉搜索树的一个诱人的方法是维护两个二叉搜索树,并将每个新键插入树中,这样会更加平衡。更具体地说,执行以下操作:第一个键是左树的根。第二个键是右树的根。若要添加新键,请将其插入到树中其深度较小的位置。如果两棵树的深度相同,则将其添加到第一棵树上。 输入将是5个字符串(忽略除了字母A到Z和A到Z;大写和小写是一样的)。对于每个输入字符串,使用上面描述的每个字符串构建两个树。按顺序打印第一个树的内容(根,然后左子树,然后右子树)。 样例输入: 第一行:美国计算机科学 我得说我觉得电视很有教育意义 第3行:中间部分 样例输出: 输出#1:A A E C C E E N I P S 输出#2:I A A A I D D C E E I U T S R U Y V Y 输出#3:ieia I I T T V 基本要求:算法合理,结果准确
用javascript写的字符串加密程序运行出错
编程思路: 1、由用户输入要加密的字符串(仅允许小写字母不包含空格) 2、把字符串中的每一个字母按字母表顺序向后移动两位输出新字符串 注释,暂不考虑“溢出”问题(即用户输入了x以后的字母),代码如下: <script> //用split()函数把用户输入的字符串分割并赋值给数组str[] var str=prompt("请输入要加密的字符串:").split(""); //定义包含26个小写字母的alphabet数组 var alphabet=["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"]; //定义alphabet数组的索引变量i for(var i=0; i<=25;i++) //定义str数组的索引变量n for(var n=0; n<=str.length; n++) //判断str数组中元素在alphabet中的位置,并往后移2位 if(str[n]==alphabet[i]) str[n]=alphabet[i+2] //用jon()函数把str数组转换成字符串并赋值给newStr var newStr=[str[n]].join(""); //输出结果 alert("加密后的新字符串是:"+newStr); </script> 已经很晚了,我没时间翻书再检查错误了,明天一早我还要去工地搬砖,恳请列位大侠直接帮忙修改成能正确运行的代码,我明天抽空拜研之
数据结构最后一个作业 (c++) 不会写了 跪求
输入一组字符串(字符串中无空格,输入时串与串之间可由空格分隔),删除含有字母’a’的所有字符串,然后按照输入顺序打印出剩余的字符串。最后输入一个位置,于该位置处插入字符串“1234”后输出所有的字符串。
算法问题求解 关于字符串处理
给定两个长度为n的字符串 X,Y 现对X的任意长度的连续子串有两种操作: 1. 按字母表顺序前进一位 如 a -> b aa->bb ac->bd 2. 按字母表顺序后退一位 如 b -> a bcd ->abc 求从X->Y的最小操作步骤(只有小写字母) 样例输入: cccaba aaaccc 输出: 5
关于c语言的问题,想用c语言解答
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“GPLTGPLT....”这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。 输出格式: 在一行中按题目要求输出排序后的字符串。题目保证输出非空。 输入样例:pcTclnGloRgLrtLhgljkLhGFauPewSKgt 输出样例:GPLTGPLTGLTGLGLL
c/c ++全排列(字符数组)
//给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 // //我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。 //输入 //输出只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。 //输出 //输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义: // //已知S = s1s2...sk, T = t1t2...tk,则S < T 等价于,存在p(1 <= p <= k),使得 //s1 = t1, s2 = t2, ..., sp - 1 = tp - 1, sp < tp成立。 //样例输入 //abc //样例输出 //abc //acb //bac //bca //cab //cba
用Python凯撒密码。。。。。。
【问题描述】 凯撒密码是古罗马凯撒大帝用来保护重要军情的加密系统。这套密码系统在现在看来很低级,但是在古罗马时期还是发挥了重要作用的。 凯撒密码的根本思想是按照字母表排列顺序将明文中每个字母变换成其后第n个字母。这里,n(n=1~25)被称作秘钥。 请编写程序,针对不同的输入字符串和移动位数,输出经过凯撒加密之后的字符串。 【输入形式】 第一个输入参数是移动的位数n,中间间隔一个空格之后,第二个输入参数是待加密的原文字符串 【输出形式】 加密后的密文字符串。注意,只加密字母,且不改变字母大小写。待加密的字符串可能存在比如"hello world"的形式,若与第一个参数一起以input的方式输入,在调用split()的时候要注意,会将待加密字符串也一并分割了。split()方法有参数指定分割多少项,建议采用,请上网搜索说明文档。 【样例输入】 5 NUDT 【样例输出】 SZIY 【样例说明】 输入参数中第一个参数'5'表示移动位数n=5,然后将第二个输入参数中每个字母都向后移动5位,得到输出字符串。
顺序查找的一道题,测试通过,不知道错在哪里,希望大神帮忙改到满分
描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。 输入 只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。 输出 共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”; 第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。 样例输入 样例 #1: error 样例 #2: olympic 样例输出 样例 #1: Lucky Word 2 样例 #2: No Answer 0 提示 单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。 单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。 ``` #include<stdio.h> #include<string.h> int main() { char ch[256]; int i,sum,max=0,min=3,k=0; int th[256]={0}; gets(ch); int len=strlen(ch); for(i=0;i<len;i++) { int b=ch[i]; th[b]++; if(th[b]>max) max=th[b]; if(th[b]<min) min=th[b]; } int j=max-min; for(i=2;i<j;i++) { if(j%i==0){k=1;break;} } if(k==0&&j>1) printf("Lucky Word\n%d",j); else printf("No Answer\n0"); return 0; } ``` 地址http://noi.openjudge.cn/ch0109/06/
C#控制台程序,怎么查找重复子串?
编写控制台应用程序,判断用户输入的字符串中是否存在重复的由两个小写字母组成的子串,如果有则按从左到右的出现顺序输出重复出现的子串及次数;如果用户输入的字符串中包含非小写字母则输出“lnputting illegal characters”。 # 输入格式: 输入字符串 # 输出格式: 每行输出一个重复出现的子串及出现的次数,子串与次数之间用一个空格隔开。 # 例如 ## 输入: aaabbaabb ## 输出: aa 2 ab 2 ba 2 希望大佬能给解释详细点,谢谢!
Python这几句代码求大神解释。
代码的功能:对输入的字符串按字母降频排序输出,同频次的字母按照字母表顺序排序。但是代码我看不懂,求大神帮我解释一下。感激不尽!!![图片说明](https://img-ask.csdn.net/upload/201612/09/1481253581_615349.png)
初学字符串的实际工程问题4,5,6
编程任务编号 L: 压缩空格和换行符 任务描述 将网页中文本复制到文本编辑中经常会产生大量的连续空格和换行符。现在要求将连续的空格压缩为1个空格,连续的换行符压缩为1个换行符。 输入 1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。 输出 压缩空格和回车后的文本。 输入举例 It is a cat, I like it. 输出举例 It is a cat, I like it. 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char sentence[100001]; int i,len; gets(sentence); len=strlen(sentence); for(i=0; i<len; i++) { if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32)) printf("%c",sentence[i]); } scanf("\n"); scanf("\n"); printf("\n"); gets(sentence); len=strlen(sentence); for(i=0; i<len; i++) { if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32)) printf("%c",sentence[i]); } return 0; ------------------------------------------------------------------------------- 编程任务编号 M: 统计单词数 任务描述 在写文档或投稿时经常需要计算一篇文档中的单词数,先给定一篇英文的文档,请统计单词的个数。在此“1个单词”定义为:一个或多个空格或换行符分隔的字符串计为一个单词。当然,连续的空格和换行符不是“1个单词”。虽然这个定义不甚准确但实用。 输入 1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。输入中单词的个数可能达到4294967296(即2的32次方)个。 输出 单词的个数。 输入举例 It is a cat, I like it. 输出举例 7 注意事项 注意: 1:应该注意考虑特殊情况:例如文章开始处有若干空格或者回车的情形。 2:当以如下的方式使用字符数组输入字符串数据时: char str[此处为足够大的数组元素个数]; scanf("%s",str); 当输入字符串中包含空格、回车或者跳格字符时,空格、回车和跳格将被认为是2个字符串之间的分隔,因此用这种方法输入的字符串中不可能包含空格、回车和跳格字符的。 3:当需要以行为单位,输入一行一行的字符串,那么可利用gets(str)来输入一行字符串是,输入到字符串变量中的字符可包含空格和跳格字符,但是不能包含回车字符。对于没有给定数据长度的情况,可以利用gets( )函数的返回值为为空(它输入数据已经输入完毕)来判断输入是否结束。例如,如下形式。 char str[足够大的元素个数]; while (gets(str)!=NULL) { //每循环一次,处理每一行字符串 } 4:如果需要单个字符处理,则必须使用scanf("%c",&c);或者 ch=getchar();此时,不管任何字符都可以输入到字符变量中包括空格、回车和跳格字符。 while(scanf("%c",&ch) { //每循环一次,处理一个字符 } 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() {char word[100001]; int len,i,sum=0; gets(word); len=strlen(word); for(i=0;i<len;i++) { if(word[i]==32&&word[i+1]!=32) { sum++; } } scanf("\n"); scanf("\n"); printf("\n"); gets(word); len=strlen(word); for(i=0;i<len;i++) { if(word[i]==32&&word[i+1]!=32) { sum++; } } printf("%d",sum); return 0; } ---------------------------------------------------------------------------------- 编程任务编号 T: 英汉字典之(初级版) 任务描述 请设计一个简单的英汉字典实现从英文到汉语的翻译。 输入 第一行包含一个数字n(1≤n≤100),表示字典中词条的数目。每个词条的第一个空格前是一个英文单词,其后为中文解释。英文单词的字母个数不超过50个。中文解释的长度不超过200个汉字(包括标点和空格)。紧接着一个整数k(1≤k≤n),表示需要查阅的英文单词个数。其后k行,包含k个单词。 输出 查出每个单词的中文含义。每个单词的输出单独占一行。如果这个单词不存在,则输出Sorry, not in this dictionary! 输入举例 8 this 这, 这个, 今, 本 is 是 a 一(非特指) super 超级的,上等的, 特大的, 特级的, 十分的, 过分的, 极好的 simple 简单的, 简易的, 朴素的, 简朴的, 天真的, 率直的, 无经验的, 易受骗的 English 英文的, 英国人的, 英格兰的, 英国人, 英语 Chinese 中国的, 中国人的, 中国话的, 汉语的, 中国人, 中国话, 汉语, 中文 dictionary 字典, 词典, 辞典 3 English english dictionary 输出举例 英文的, 英国人的, 英格兰的, 英国人, 英语 Sorry, not in this dictionary! 字典, 词典, 辞典 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char ENGLISH[51],word[51],CHINESE[201]; int times,n,j=0,i,I=0; scanf("%d",&times); while(times--) { scanf("%s%s",ENGLISH[I],CHINESE[I]); I++; } scanf("%d",&n); while(n--) { scanf("%s",word); for(i=0;i<times;i++){ if(word==ENGLISH[j]){ printf("%s",CHINESE[j]); printf("\n");} j++;} } return 0; } ------------------------------------------------------ 编程任务编号 S: 输入法菜单的循环切换 任务描述 为了方便我们的输入中文、英文,现在我们通常会在操作系统中安装多个输入法,当需要某种输入法时,通过反复按快捷键"Ctrl+Shift"在所有输入法循环切换,直到需要的需要发出现就停止。每按一次"Ctrl+Shift"快捷键,切换到当前输入法的后一个输入法。我们假设输入法在输入法栏中的排列顺序是不变的。当我们知道当前的输入法,那么就能确定切换若干次后是哪种输入法。 输入 第一行输入一个正整数n(1≤n≤100),表示已经安装了输入法的个数。其后的n行,每行表示种输入法的名称,名称长度不超过50个英文字符。 紧接下来的一行包含一个整数k(1≤k≤100),每行表示一次表示切换操作。每行有2个整数。第一个表示当前输入法的序号(从上到下,编号从1开始),第二个表示按"Ctrl+Shift"键的次数。 输出 输入每次操作后所切换到的输入法。每次操作单独占一行。 输入举例 5 Sogou Pinyin Google Pinyin QQ Pinyin Microsoft Pinyin Tsinghua Ziguan Pinyin 5 2 4 3 5 4 6 5 7 5 19 输出举例 Sogou Pinyin QQ Pinyin Tsinghua Ziguan Pinyin Google Pinyin Microsoft Pinyin 注意事项 输入数据是请注意,接收第一整数之后,下面要输入的字符串,如果没有将输入整数后的那个回车忽略,那么下次接收字符串的时候就会读入那个回车符,导致输入不正确。处理办法由多种。方法1:可以在接收第一个整数的scanf("%d ",&n);注意这里在%d后添了一个 ,这样就能将那个回车符忽略掉。接下来接收字符串的时候用gets()就是正确地接受到第一个拼音输入的名称。方法二:使用一个额外的getchar()将这个回车读走,也可以! 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char srf[51][51]; int n,i,j,a,b,result,m; scanf("%d",&n); for(j=0;j<n;j++) { scanf("%s",srf[j]); } scanf("%d",&i); for(m=0;m<i;m++) { scanf("%d%d",&a,&b); result=(a+b)%n; printf("%s\n",srf[result-1]); } return 0; } ----------------------------------------------------------
用javascript写的字符串加密程序,用if判断程序正常,用switch出错
大家好,这段代码实现这样的功能: 1、用户输入全是小写字母的字符串,不支持空格和标点符号; 2、程序将字符串中的每个字母,按字母表顺序,向后移动5位,并输出新字符串; <script type="text/javascript"> var str=prompt("请输入要加密的字符串:").split(""); var newStr=[]; var alphabet=["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"]; for(var n=0; n<=str.length; n++) for(var i=0; i<=25;i++) if(str[n]==alphabet[i]) if(i+5<=25) newStr[n]=alphabet[i+5]; else newStr[n]=alphabet[i+5-26]; alert("加密后的新字符串是:"+newStr.join("")) </script> 上面代码可以正常运行,考虑到下一步想让程序区分大小写字母,并支持空格和标点符号,因此想用 switch(str[n]){ case str[n]==alphabet[i]&&i+5<=25: newStr[n]=alphabet[i+5]; break; case str[n]==alphabet[i]&&i+5>25: newStr[n]=alphabet[i+5-26]; } 这段代码替换原代码中if判断,思路是: 1、在switch(str[n])语句中,程序先计算str[n]的值; 2、比对str[n]的值符合哪一个case中的条件,然后决定程序的走向 如果上面switch(str[n])语句能正常运行,接下来程序就可以继续扩展,再增加一个大写的判断case,再增加一个空格及标点符号的判断case 这样,这个javascript编写字符串加密程序的1.0版本就可以正式出炉了,后续会改善用户界面、由用户指定加密步长等; 但现在恳请列位老师指点,为何用switch(str[n])替代if语句,程序出错?出错代码如下: <script type="text/javascript"> var str=prompt("请输入要加密的字符串:").split(""); var newStr=[]; var alphabet=["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"]; for(var n=0; n<=str.length; n++) for(var i=0; i<=25;i++) switch(str[n]){ case str[n]==alphabet[i]&&i+5<=25: newStr[n]=alphabet[i+5]; break; case str[n]==alphabet[i]&&i+5>25: newStr[n]=alphabet[i+5-26]; } alert("加密后的新字符串是:"+newStr.join("")); </script> 补充说明,一本封皮画犀牛的书中提到,javascript中的switch有别于其他语言,因此case后面最好是常量,但没有说不可以是表达式,难道说case真的不能完成计算后面表达式的值,在与switch()中参数比对?
为什么提交后显示段错误?? (最大句子,卡strcat:前500000个字母组成1个单词,后面每个单词1个字母 段错误)
问题:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello #include <iostream> #include<stdio.h> #define MAX 500010 using namespace std; int main() { void print(int start, int endd, char str[]); char str[MAX]; char ch; int i = 0; int j = 0; int k = 0; int start[50]; int end[50]; bool tmp = true; while((ch=getchar())!='\n') { if(ch!=' '&&tmp) { str[i]=ch; start[j]=i; i++; j++; tmp = false; } else if(ch!=' '&&!tmp) { str[i]=ch; i++; } else if(ch==' '&&tmp) { continue; } else if(ch==' '&&!tmp) { end[k]=i-1; //i++; k++; tmp=true; } } end[j-1]=i-1; for(int i=j-1;i>0;i--){ print(start[i], end[i], str); } for(int i=start[0];i<=end[0];i++){ printf("%c",str[i]); } printf("\n"); return 0; } void print(int start, int endd, char str[]) { for(int i=start;i<=endd;i++){ printf("%c",str[i]); } printf(" "); }
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; } ```
相见恨晚的超实用网站
搞学习 知乎: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或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
小白如何学习java?
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
【C++】C++11的std::array的详细剖析
当学习C++的时候,数组是最基本的结构之一,通常通过以下的方式来定义: int a[5]; int *b = new int[5]; 上面一句是在栈上定义了一个长度为5的数组,下面一句是在堆上定义了一个长度为5的数组,并用一个指针指向它。 在C++11中,引入了一种新的数组定义方式std::array。 std::array的特性 std::array是具有固定大小的数组。因此,它并不支持添加...
Python 基础(一):入门必备知识
Python 入门必备知识,你都掌握了吗?
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
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...
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。 但是,最近好多人问我学习路线,而且很多大一大二的,说自己很迷茫,看到我那篇 普普通通,我的三年大学 之后很受激励,觉得自己也能行,(是的,别太浪,你一定能行)希望我能给他个学习路线,说...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
羞,Java 字符串拼接竟然有这么多姿势
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话。 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估
"狗屁不通文章生成器"登顶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
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问