分享

网易笔试一题

 suiqianying 2011-10-12

题意很简单,写一个程序,打印出以下的序列。
(a),(b),(c),(d),(e)........(z)
(a,b),(a,c),(a,d),(a,e)......(a,z),(b,c),(b,d).....(b,z),(c,d).....(y,z)
(a,b,c),(a,b,d)....(a,b,z),(a,c,d)....(x,y,z)
....
(a,b,c,d,.....x,y,z)

code:

#include<iostream>

usingnamespace std;

void func(void)
{
   
char*table =newchar['z'-'a'+1];
   
int num;
   
   
for (num =1; num <='z'-'a'+1; ++num)
    {
       
int cur =0;
        table[
0] ='a'-1;

       
while (cur >=0)
        {
            table[cur]
+=1;
           
           
if (table[cur] <='z')
            {
               
if (num -1== cur)
                {
                   
int i;
                   
for (i =0; i < num; ++i)
                    {
                        cout
<<table[i];
                    }
                    cout
<<", ";
                }
               
else
                {
                   
++cur;
                    table[cur]
= table[cur -1];
                }
            }
           
else
            {
                cur
-=1;
            }
        }
        cout
<<endl;
    }
   
    delete[]table;
}

int main()
{
    func();
   
    system(
"pause");
   
return0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多