魔兽世界改性别多少钱:C++ 初级编程

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 04:39:35
为果园客户设定密码
虚拟果园一批新品种的芒果就要成熟了。为了让游园的客户都能吃到芒果并且防止有人破坏果园,果园安装了一个新的安全系统,并且要给每一个游园客户分配一个有效的密码。一个有效的密码由L(3 <= L <= 15)个小写字母(来自传统的拉丁字母集'a'...'z')组成,至少有一个元音('a', 'e', 'i', 'o', 或者 'u'),至少两个辅音(除去元音以外的音节),并且按字母表顺序出现(例如,'acd'是有效的,而'dac'不是)。

给定一个期望长度L和C个小写字母,写一个程序,打印出所有的长度为L、能由这些字母组成的有效密码。密码必须按字母表顺序打印出来,一行一个。
题目名称: password
输入格式:
* 第一行: 两个由空格分开的整数,L和C
* 第二行: C个空格分开的小写字母,密码是由这个字母集中的字母来构建的。
输入样例:
4 6
a t c i s w
输入详细说明:
由从给定的六个字母中选择的、长度为4的密码。
输出格式:
* 第一至?行: 每一个输出行包括一个长度为L个字符的密码(没有空格)。输出行必须按照字母顺序排列。

输出样例 (文件 passwd.out):
acis
acit
aciw
acst
acsw
actw
aist
aisw
aitw
astw
cist
cisw
citw
istw

测试通过,输入例如:
4 6
atcisw

#include<stdio.h>

bool IsYuanYin(char ch)
{
if (ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u')
return true;
else
return false;
}

void SortStr(char *s,int len)
{
char ch;
for (int i=0;i<len-1;i++)
{
for (int j=i+1;j<len;j++)
{
if (s[i]>s[j])
{
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
}
}
}

void comb (char *src,char *dst,int m,int k)
{
int i,j;
bool valid = false;
for(i=k;i<=m;i++)
{
dst[k-1]=src[i-1];
if(k>1)
comb(src,dst,i-1,k-1);
else
{
for(j=0;dst[j]!='\0';j++)
{
if (IsYuanYin(dst[j]))
{
valid = true;
break;
}
}
if(valid)
{
for(j=0;dst[j]!='\0';j++)
{
printf("%c",dst[j]);
}
printf("\n");
}
}
}
}

void main()
{
int L,C;
char *s = new char[26];
char *r = new char[15];
scanf("%d %d",&L,&C);
scanf("%s",s);
r[L]='\0';
SortStr(s,C);
comb(s,r,C,L);
}

也许我回答这个问题不太适合,因为我从小就对这个感兴趣...不过我还是说一下自己的想法吧..

首先,最好不要把编程当成是一个任务....
也许大家都有这种感觉吧,我最初学编程的时候,是因为看到别人写程序,很感兴趣,然后就自己去找书看。随便的看几个例子,抄几个例子,然后改动一下再看看结果,总觉得这样子很有意思。不过等到大学正式开始学的时候,反而觉得没意思了....因为总觉得自己是在替别人学,没有那种自由的学习的快感....

然后,根据自己的兴趣,或者冒出来的一些想法,编写自己设计的程序吧。这样比较能引发兴趣。
当时我是变了这么几个东西:求质数、分解质因数、算24,然后是八皇后,等到水平高一点了,就开始便一下简单的东西,像贪吃蛇、俄罗斯方块什么的。
最好是自己的想法,不要太难,认为是在自己能力之内的东西再去搞。
在做这┒?鞯氖焙颍?嵊龅絅多N多的问题,这是必然的!遇到问题的时候,千万不要直接去问别人,因为这个是你提高的最好机会!这个不光能提高你在某一门语言上的能力,更重要的是提高了你解决问题的能力,这个能力真的始终深受用的。
先要自己想办法,想原因。不少问题之所以会被别人一点就通,正是因为你本身就有解决他的能力,而你却没有去设法解决。
如果实在是不知道怎么回事,那就上网搜索吧。比如某个函数不会用了,那就在百度上直接搜 fun**(),很经常的就能搜到你想要的答案。当然,也要掌握一下搜索的技巧,多用用肯定就能明白。
在然后,是在没办法了,那就只能请教别人了吧,问题千万别放过...解决不了的就先记下来,解决了的问题也记下来,反正在电脑上只要打几行字概括一下。

然后等积累了一些经验以后,系统的学习吧,把库函数啊,提供的其他功能啊,API啊什么的通通看看,浏览一下,熟读唐诗三百首嘛~~~之后,你就会发现自己的水平真的不低了...至少不回避周围一般的同学差了...说白了,这时候就可以炫耀了...你不是没兴趣吗?这样就有兴趣了吧...

我也不是高手,知道这个地步了..
写了这么长好累啊~~~希望能有对你有些帮助

PS:我是编程的爱好者,如果可以,希望能多交流交流^^