给予下列一串字符串a,b,c,ab,bb,cb,ac,bc,cc,aab,bab,cab,abb,bbb,cbb...通过编程实现以上字符串实现,并要求有相应字符串的位置信息,假设a的位置为0
2014-11-09 20:41
961 查看
这是今年自己在参加乐港笔试的一道笔试题,作为一个程序菜鸟,当时还是挺紧张的,导致在笔试的时候也差不多只写了一点点思路T.T。笔试回来后,自己网上搜了相应的题目,看到论坛里的前辈发的相关程序感觉受益匪浅,也可以说是对自己编程思路的一种开拓吧,接触C/C++也就六个月的时间,算是勉强入门吧。回来结合前辈的一些思路自己再去做了下这道题目
,调试,成功后也是比较开心的(嘿嘿
),但还是有些许问题,代码不够简洁,运行的结果好像还是差了那么一点,只好献丑一发,希望得到论坛里大家的意见,不胜感激(
)。。。
,调试,成功后也是比较开心的(嘿嘿
),但还是有些许问题,代码不够简洁,运行的结果好像还是差了那么一点,只好献丑一发,希望得到论坛里大家的意见,不胜感激(
)。。。
// 11.cpp : Defines the entry point for the console application. #include "stdafx.h" #include<iostream> #include<string> using namespace std; int main() { char str[200][10];//申请一个二维字符数组 memset(str,'\0',sizeof(str)); char *temp="abc"; int i,j=0,m=0,n=0,p=6,h=0,f=0,t=0; for(i=0;i<strlen(temp);i++) { str[m++] =temp[i]; printf("%d %s\n",i,&str[i]); } n++; while(1) { while(1) { if(1==n) { for(i=0;i<p;i++) { strcat(str[m+i],str[j++]);//每隔三个进行a,b,c的初始化,方便后续进行粘贴 if(3==j) { j=0; } } for(i=0;i<p;i++) { t=m; strcat(str[m++],str[h+1]);//粘贴 printf("%d %s\n",t,&str[t]); if(i==2) { h++; } } } else { for(i=0;i<p;i++) { strcat(str[m+i],str[j++]);//每隔三个进行a,b,c的初始化,方便后续进行粘贴 if(j==3) { j=0; } } for(i=0;i<p;i++) { t=m; strcat(str[m++],str[h+2]);//粘贴 printf("%d %s\n",t,&str[t]); if((i+1)%3==0) { h++; } } } n++; p=p*3; if(n>=10) break; } /* for(i=0;i<50;i++) printf("%d %s\n",i,&str[i]); break;*/ break; } return 0; }
相关文章推荐
- 有字母a,b,c,输入值n为2.输出所有由3个字母组成的字符串.aa,ab,ac,ba,bb,bc,ca,cb,cc,如果n是3按这样规律输出
- 有个序列数组Seq={a,b,c,d,aa,ba,ca,da,ab,bb,cb,db,ac,bc,cc,dc,ad,......aaa,baa,caa,daa,aba,bba,cba,dba.....
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函
- 输入一个字符串,要求输出字符串中字符所有的排列,例如输入"abc",得到"abc","acb","bca","bac","cab","cba"
- c++____abc : a b c , ab ac ba bc ca cb, abc acb bac bca cab cba
- 实现一个比较高级的字符匹配算法,即一串很长的字符,要求找到符合要求字符的字符串
- 请问B3-CC-5C-51-A4-06-E4-7C-C6-BC-F7-CB-BE-0B-F6-0C这样的加密是怎样实现的呢?
- 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配
- 输入m个学生,每个学生有4门课,在主调函数中输入学生的相关信息,编写三个函数: (1)求第一门课的平均分; (2)找出有两门课以上不及格的学生,并输出他们的学号和全部成绩,要求用指针函数实现:fl
- 实现一个挺高级的字符匹配算法: 给一串很长字符串,要求找到符合要求的字符串,例如目的串:123 1******3***2 ,12*****3这些都要找出来
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- 实验9-2 //编程判断输入的一串字符是否为“回文”。所谓“回文”,是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是“回文”。要求使用指针变量判断字符串是否是回文。
- 实现一个比较高级的字符匹配算法,即一串很长的字符,要求找到符合要求字符的字符串
- 将字符串“abc”全排列成:abc、acb、bac、bca、cab、cba
- 【大家来一起讨论吧】百度面试题,假设一整型数组存在若干正数和负数,现在通过某种算法使得该数组的所有负数在正数的左边,且保证负数件和正数间元素相对位置不变。时空复杂度要求:o(n),o(1)
- 假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配, 比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同, 所以这两个字符串是匹配的。要求高效!
- 某公司笔试题:编程实现去除字符串中连续出现一次以上的空格。
- 题目描述:给定一个字符串,求出其所有可能的字符组合. 比如:abc 其所有组合是:a,b,c,ab,ac,bc,abc
- 第七题:牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。
- 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如: 原始字符串是"abc",打印得到下列所有组合情况