CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

今天的面视题目,大家来帮忙看看!

楼主bios8086(孤独的人)2006-06-07 22:42:44 在 C/C++ / C++ 语言 提问

上机打出  
          1  
         222  
        33333  
       4444444  
      555555555  
     66666666666  
    7777777777777  
   888888888888888  
  99999999999999999  
  我是这样做的  
  #include   "stdafx.h"  
  #include   <iostream>  
  using   namespace   std;  
   
  int   main(int   argc,   char*   argv[])  
  {  
          cout   <<   "                 "     <<   1     ;  
    cout   <<   endl;  
         cout   <<"               "<<   2   <<2<<2;  
    cout   <<   endl;  
    cout   <<"             "<<   3<<   3<<   3<<   3<<   3;  
    cout   <<   endl;  
          cout   <<"           "<<   4   <<   4<<   4<<   4<<   4<<   4<<   4;  
    cout   <<   endl;  
          cout   <<"         "<<   5   <<   5<<   5<<   5<<   5<<   5<<   5<<   5<<   5;  
          cout   <<   endl;  
          cout   <<"       "<<   6   <<   6<<   6<<   6<<   6<<   6<<   6<<   6<<   6<<   6<<   6   ;  
          cout   <<   endl;  
                     cout   <<"     "<<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<   7   <<7;  
          cout   <<   endl;  
          cout   <<"   "<<   8   <<   8   <<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8<<   8;  
          cout   <<   endl;  
  for(int   i=0;i<17;i++)  
    cout   <<   9;  
          cout   <<   endl;    
        return   0;  
  }  
  结果那人叫我走了!55555555555555555  
  我达到了他们的要求啊! 问题点数:20、回复次数:110Top

1 楼bios8086(孤独的人)回复于 2006-06-07 22:44:18 得分 0

我想了很久,我知道要通过循环!通过循环控制打印的话,空格也被循环了!Top

2 楼howyougen(夫孝,德之本也,教之所由生也)回复于 2006-06-07 22:54:27 得分 0

lz加油:)Top

3 楼xyq1986(综艺一哥)回复于 2006-06-07 22:55:36 得分 0

简单题了Top

4 楼bios8086(孤独的人)回复于 2006-06-07 23:04:07 得分 0

大家说说怎么做啊?Top

5 楼iicup(双杯献酒)回复于 2006-06-07 23:29:49 得分 0

其实楼主的方法是正确的。  
  叫你走人,肯定是其他地方做的不好。和这道题目没有关系。  
  还有就是你显示9的方法和显示1--8的方法不同,这里应该加个注释,不然容易让别人引起混乱。  
  不过这个是小问题,总的来说,这个题目楼主做的不错。Top

6 楼pluton(千年之叹)回复于 2006-06-07 23:50:09 得分 5

#include<stdio.h>  
  int   main()  
  {  
      int   i,j,n;  
      scanf("%d",&n);  
      for(i=1;i<=n;i++)  
      {  
          for(j=1;j<=n-i;j++)  
          printf("   ");  
          for(j=1;j<=2*i-1;j++)  
          printf("%d",i);  
          printf("\n");  
      }  
      return   0;  
  }  
  用循环控制空格和数字Top

7 楼yzhg_cgl(Little Fish)回复于 2006-06-08 00:38:38 得分 0

学编程多久了?Top

8 楼God_love_xyz()回复于 2006-06-08 03:10:04 得分 5

#include<iostream>  
  #include<iomanip>  
  using   std::cout;  
  using   std::endl;  
  using   std::setw;  
   
  int   main()  
  {  
   
  int   i=1;//设置行数。  
  do  
  {  
  cout<<setw(10-i);//前面的空格数。  
  for(int   j=2*i-1;j>0;j--)//j表示每层输出的个数。  
  {  
  cout<<i;  
  }  
  cout<<endl;//换行  
  ++i;  
  }  
  while(i<10);  
  return   0;  
  }Top

9 楼aniude(重返荣耀)回复于 2006-06-08 04:27:26 得分 0

不就是一个控制行的个数一个控制字数吗   2*n-1个Top

10 楼lddLinan(不再五行中)回复于 2006-06-08 08:53:03 得分 5

const   char*   printstuf[]   =    
  "        1\n"  
  "       222\n"  
  "      33333\n"  
  "     4444444\n"  
  "    555555555\n"  
  "   66666666666\n"  
  "  7777777777777\n"  
  " 888888888888888\n"  
  "99999999999999999\n";  
   
  cout<<printstuf;Top

11 楼tiger_ibm(bigfish)回复于 2006-06-08 09:18:01 得分 0

God_love_xyz()   的方法  
  符合题意Top

12 楼sarh2os()回复于 2006-06-08 09:22:25 得分 0

楼上的有够强!Top

13 楼za()回复于 2006-06-08 09:23:51 得分 0

楼主的方法是可以的,但缺乏通用性,下回做这种题要稍微多动动脑子。Top

14 楼cyblueboy83(爱情白痴—电脑迷)回复于 2006-06-08 09:37:46 得分 0

关注一下  
  Top

15 楼eqxu(天使联盟)回复于 2006-06-08 10:03:53 得分 0

 
   
   
  首先判定输出的规模N*(2*N-1)  
  每行输出的空格数是N-i  
  接着输出2*i-1个数字i  
  然后'\n'  
  Next  
   
   
  Top

16 楼fadom(小车快跑)回复于 2006-06-08 10:36:54 得分 0

pluton(千年之叹)   比较好!Top

17 楼rabbit729(无名胜有名)回复于 2006-06-08 10:47:43 得分 5

#include   "stdafx.h"  
  #include   <iostream>  
   
  int   main()  
  {  
          using   std::cout;  
          using   std::endl;  
           
          for(int   i=1;i<=9;i++)  
              {  
                    for(int   j=0;j<(9-i);j++)  
                            cout<<"   ";  
                    for(int   k=0;i<(2*i-1);k++)  
                            cout<<i;  
                    cout<<endl;  
              }  
              return   0;  
  }  
   
   
  楼主试一下代码,现在在公司没法调试,有错的话请包涵!Top

18 楼crazy_lazy_pig(疯狂懒猪)回复于 2006-06-08 12:57:05 得分 0

我是老板就要你了,   呵呵,   你的程序简单,   见效快.   想想看,   如果客户需要立即拿到程序,   楼上诸位还要花时间想算法,   写代码,   还得调试,   多麻烦啊.   楼主的程序立等可取,   且完全满足要求;   就算是客户不满意,   那么楼主的程序灵活性也很大啊,   想想看,   如果客户要求把第十行输出a呢,   那楼上几位不是糗了,   如果客户要的是楼上列位的东西那么就加收服务费嘛,   因为那技术含量就高了.  
   
  我认为楼主当时应当跟老板理论一下,   程序员嘛,   满足要求就够了.Top

19 楼diandian82(点点(nothing))回复于 2006-06-08 12:59:02 得分 0

如果没有别的要求,楼主的方法绝对是最好的。人才。Top

20 楼rexking0(风之彩)回复于 2006-06-08 13:13:15 得分 0

char   *   str   =   "                 1\n               222\n             33333\n           4444444\n         555555555\n       66666666666\n"  
      "     7777777777777\n   888888888888888\n99999999999999999\n";  
      printf("%s",   str);  
   
  这样最好Top

21 楼haolix(獾猪搂主)回复于 2006-06-08 13:18:35 得分 0

没什么不好,那个人思维定势Top

22 楼ontheline(初学者)回复于 2006-06-08 13:52:49 得分 0

只要结果,不要过程的.呵呵,完成要求就可以.Top

23 楼jinfengbj010()回复于 2006-06-08 14:17:05 得分 0

#include   "stdafx.h"  
  #include   <iostream>  
   
  int   main()  
  {  
          using   std::cout;  
          using   std::endl;  
           
          for(int   i=1;i<=9;i++)  
              {  
                    for(int   j=0;j<(9-i);j++)  
                            cout<<"   ";  
                    for(int   k=0;i<(2*i-1);k++)  
                            cout<<i;  
                    cout<<endl;  
              }  
              return   0;  
  }  
   
   
  楼主试一下代码,现在在公司没法调试,有错的话请包涵!  
   
   
   
   
  这个好Top

24 楼bjskyhorse()回复于 2006-06-08 14:30:54 得分 0

毫无疑问,搂主的程序没有任何错误,确实很正确。不过人家可不是你这样的,起码你应该显得象个专业人士。Top

25 楼Balu__()回复于 2006-06-08 15:24:53 得分 0

我也写个:  
  #include   <iostream>  
  using   namespace   std;  
   
  template<int   N,int   L>  
  class   print{    
      public:    
      static   void   __print()  
      {  
      for(int   i=1;i<L;++i)  
      cout<<"   ";  
      for(i=0;i<2*N-1;++i)  
      cout<<N;  
      cout<<endl;  
      print<N+1,L-1>::__print();  
      }  
  };    
   
  template<>    
  class   print<9,1>   {    
      public:    
            static   void   __print()  
      {  
      cout<<"99999999999999999"<<endl;  
      }    
  };  
  int   main()  
  {  
          print<1,9>::__print();  
  }Top

26 楼qiaodong()回复于 2006-06-08 16:23:52 得分 0

楼主和楼上很多人的看法我不同意,做程序不应该只注重结果,我一直认为做程序是一种艺术,从代码的书写到算法的设计,都是人类优越性的体现,如果一直像那样写代码,我们程序员就永远是民工级的劳动者,因为我们的劳动没有任何的创造性,谁都可以做Top

27 楼Could(翻墙鹦鹉)回复于 2006-06-08 16:34:58 得分 0

哪个单位的面试题如此简单?Top

28 楼fd7893(看着办吧)回复于 2006-06-08 16:37:24 得分 0

仁者见仁智者见智   呵呵Top

29 楼denbile(一个)回复于 2006-06-08 16:56:14 得分 0

for(n=1;n<<9;n++)  
  {for(j=1;j<<9-n;j++)cout<<"   ";  
    for(j=1;j<<2n-1;j++)cout<<"n"<<endl;  
  }  
  Top

30 楼ljia0(一直在思索:“为什么我的昵称不可以稍微再长那么一点点?”)回复于 2006-06-08 17:13:28 得分 0

看完以后,思考中、、、Top

31 楼bruceteen(周星星)回复于 2006-06-08 17:41:38 得分 0

^_^   我就是那个面试官,有两个理由你必须离开:  
   
  1.   你聪明的选择了直接打印的方式,可是却又故作烦琐,应该直接写成  
  cout   <<    
  "        1\n"  
  "       222\n"  
  "      33333\n"  
  "     4444444\n"  
  "    555555555\n"  
  "   66666666666\n"  
  "  7777777777777\n"  
  " 888888888888888\n"  
  "99999999999999999"   <<   endl;  
   
  2.   看到   #include   "stdafx.h"   就气不打一处来,你是向我炫耀你用的VC吗?即使用VC,为了移植性,也很少有人用预编译头,这才是你离开的主要原因   :)Top

32 楼crazy_lazy_pig(疯狂懒猪)回复于 2006-06-08 18:18:29 得分 0

强,   学习学习再学习.Top

33 楼gamedr()回复于 2006-06-08 18:35:55 得分 0

我也写个,调试了  
  #include<conio.h>  
   
  void   main(void)  
  {  
  int   i;  
  int   j;  
  int   n   =   9;  
  clrscr();  
  for(i   =   1;   i   <=   n;   i++)  
  {  
  for(j   =1;   j   <=   n-i   ;   j++)  
  printf("   ");  
  for(j   =   1;   j   <=   2*i-1;   j++)  
  printf("%d",i);  
  for(j   =   1;   j   <=   n   -i;   j++)  
  printf("   ");  
  printf("\n");  
  }  
  getch();  
  }Top

34 楼richen_99(品味生活)回复于 2006-06-08 19:41:12 得分 0

#include   <stdio.h>  
  #define   N       9  
  void   triangle   (int   i);  
  static   char   buf_space[N];  
  int   main   ()  
  {  
          triangle   (N);  
          return   0;  
  }  
  void   triangle   (int   i)  
  {  
          if   (i   ==   0)   return;  
          buf_space[i   -   1]   =   '   ';  
          triangle   (i   -   1);  
          buf_space[N   -   i]   =   '\0';  
          printf   (buf_space);  
          int   j   =   i   *   2;  
          while   (j--)   printf   ("%c",   j   ==   0   ?   '\n'   :   i   +   '0');  
          return;  
  }Top

35 楼liking100(阿他)回复于 2006-06-08 21:58:55 得分 0

#include   <iostream>  
  using   namespace   std;  
   
  int   main()  
  {  
  for(int   index=1;index<=9;index++)  
  {  
  for(int   blankindex=9-index;blankindex>0;--blankindex)  
  cout<<"   ";  
  for(int   numindex=2*index-1;numindex>0;--numindex)  
  cout<<index;  
  cout<<"\n";  
  }  
  }  
   
   
  几个简单的循环而也~Top

36 楼z331283538()回复于 2006-06-08 22:13:25 得分 0

楼主真会娱乐Top

37 楼zzzace(怀念以前的小吃)回复于 2006-06-08 23:30:36 得分 0

楼主答得很好啊,没什么可挑剔的.  
  面试的脑袋有问题,几个for循环谁不会写,楼主写的很好.  
  哈哈.Top

38 楼zzzace(怀念以前的小吃)回复于 2006-06-08 23:32:04 得分 0

中国的面试考试都~~~~~~~~~~~~哎~~~~~~~~~~~~~(其实没有言论自由)Top

39 楼richard_2010(只爱子寒)回复于 2006-06-08 23:38:26 得分 0

LZ真搞笑,逗我们大家呢  
  其实你结果是对的,但是肯定不符合人家招聘单位的原意,呵呵~再笑一下。Top

40 楼ffyh_001()回复于 2006-06-09 00:10:12 得分 0

真幽默  
  LZ肯定是逗大家玩呢Top

41 楼nanangerile(闲)回复于 2006-06-09 00:19:56 得分 0

lz可爱呢!Top

42 楼new_o_new()回复于 2006-06-09 08:01:19 得分 0

呵呵~~~出那样的题目就是应该答的出其不意~~~没什么含量!就连我这个刚学C++的学生就认为企业有意思!可是反过来想了!   楼住是不是在给大家逗乐子?  
  不过大家都很开心!小弟我初学C++初来CSDN,算是报个到了!以后会多多关注!Top

43 楼sharkoasis(魔师庞斑)回复于 2006-06-09 14:15:40 得分 0

逗大家玩呢吧,我看怎么像哪本书的课后练习题呢!Top

44 楼billyang1983(狼)回复于 2006-06-09 14:39:03 得分 0

print_blank(int   i)  
  {  
  for(int   m   =   0;   m   <   i   ;   m++)  
  printf("   ");  
  }  
   
  print_num(int   val,   int   count)  
  {  
  for(int   m   =   0;   m   <   count   ;   m++)  
  printf("%d",   val);  
  }  
  int   main(int   argv,   char*   argc[])  
  {  
  int   space   =   8;  
  int   vlaue   =   1;  
  int   count   =   1;  
   
  for(;   vlaue   <   10   ;   vlaue++,   space--)  
  {  
  print_blank(space);  
  print_num(vlaue,   count);  
  printf("\n");  
  count   =   count   +   2;  
  }  
   
  }Top

45 楼hewittlee(只爱C++)回复于 2006-06-09 15:16:16 得分 0

god  
  Top

46 楼zdwrabbit(心存梦想)回复于 2006-06-09 15:48:26 得分 0

const   int   RESULT   =   9;  
  for(int   i   =   1;i   <=   RESULT;i++)  
  {  
  int   iCount   =   i*2-1;  
  int   startNo   =   RESULT   -   i;  
  for   (int   j   =   0   ;j   <   iCount+   startNo;j++)  
  {  
  if   (j   >=   startNo)  
  {  
  cout<<i;  
  }  
  else  
  {  
  cout<<'   ';  
  }  
  if   (j   ==   iCount+   startNo-1)  
  {  
  cout<<endl;  
  }  
  }  
  }  
  改成10就得重新写了,后面太长Top

47 楼zdwrabbit(心存梦想)回复于 2006-06-09 15:56:43 得分 0

我觉得楼主在跟大家开玩笑。  
  很多公司面试都很变态的,好像希望你什么都会的样子。  
  就像中国考试一样。。。。Top

48 楼mishuilin(米水林)回复于 2006-06-09 16:00:32 得分 0

没办法,你和他的标准答案不符!Top

49 楼magicianxcs()回复于 2006-06-09 16:10:24 得分 0

这么正确的答案都不能通过!!  
  看来面试官是脑子进水了,或者他自己不懂程序设计,嘿嘿。只会对照固定的答案。  
  bs这种面试官  
  支持lzTop

50 楼BEN1978()回复于 2006-06-09 16:44:56 得分 0

这种方法实在…………Top

51 楼BEN1978()回复于 2006-06-09 17:46:26 得分 0

for   (int   i   =   1;   i   <=   9;   i++)  
  {  
  for   (int   j   =   1;   j   <=   9   -   i;   j++)  
  cout   <<   "   ";  
  for   (j   =   1;   j   <=   2   *   i   -   1;   j++)  
  cout   <<   i;  
  cout   <<   endl;  
  }Top

52 楼Alexkey()回复于 2006-06-09 18:31:04 得分 0

#include<iostream.h>  
  void   main()  
  {  
  for(int   i=1;i<=9;i++){  
  for(int   j=8;j>=i;j--){  
  cout<<"   ";}  
  for(int   k=1;k<=i*2-1;k++){  
  cout<<i;}  
  cout<<endl;}  
  }Top

53 楼xl5338870(xlix)回复于 2006-06-09 18:32:34 得分 0

#include   <stdio.h>  
   
  int   main()   {  
      int   i,   j;  
   
      for   (i   =   1;   i   <=   9;   ++i,   putchar('\n'))   {  
          for   (j   =   1;   j   <=   end-i;   ++j)   putchar('   ');  
          for   (j   =   1;   j   <   2*i;   ++j)   putchar('0'+i);  
      }  
       
      return   getchar();  
  }Top

54 楼suicuicui(scc花儿)回复于 2006-06-09 19:14:04 得分 0

 
   
    真的  
  楼主很逗Top

55 楼billmo1986(潘安+宋玉)回复于 2006-06-09 21:40:17 得分 0

有意思的Top

56 楼braveapache()回复于 2006-06-09 22:24:56 得分 0

那个公司,这么弱智的面试题?Top

57 楼apollon_hhy(一天五十页!)回复于 2006-06-09 23:48:25 得分 0

#include   "iostream.h"  
  void   main()  
  {  
  int   i,   j;  
  for(   i   =   1;   i   <=   9;   i++)  
  {  
  for(   j   =   9   -   i;   j   >   0;   j--)  
  cout<<"   ";  
  for(   j   =   1;   j   <=   2*i   -   1   ;   j++)  
  cout<<   i;  
  for(   j   =   9   -   i;   j   >   0;   j--)  
  cout<<" ";  
  cout   <<   endl;  
  }  
  }  
  绝对正确Top

58 楼iicup(双杯献酒)回复于 2006-07-06 06:49:50 得分 0

楼主说:  
  我想了很久,我知道要通过循环!通过循环控制打印的话,空格也被循环了!  
   
   
  如果你是因为不会用循环而没有办法才写成这个样子,  
  让你走也是理所当然的了。Top

59 楼menapoleon(百无禁忌)回复于 2006-07-06 14:57:12 得分 0

逗,很逗,真的很逗……Top

60 楼LS_Winson(风飘隐侠(-_-))回复于 2006-07-06 20:31:12 得分 0

cout   <<    
  "        1\n"  
  "       222\n"  
  "      33333\n"  
  "     4444444\n"  
  "    555555555\n"  
  "   66666666666\n"  
  "  7777777777777\n"  
  " 888888888888888\n"  
  "99999999999999999"   <<   endl;  
   
  对于这种题目,就应该用这种方法,用循环控制就显得你是初学的,用这个方法就表示你不屑做这道题,或者有哪位兄弟可以用一行代码解决的?(只有一个分号)Top

61 楼SammyLan((基础决定你能走多远)--英语菜才是真的菜)回复于 2006-07-06 21:17:37 得分 0

小白见得多  
  就是没有讲过这么白的(=_=)Top

62 楼kidc(海盗乌托邦)回复于 2006-07-06 21:40:46 得分 0

:)这帖有趣。。Top

63 楼corrupt(喜欢 睡在床板下 的思考)回复于 2006-07-06 21:43:29 得分 0

无语   。。   我也写lz     那样的代码Top

64 楼at_yuan2(724)回复于 2006-07-06 21:52:33 得分 0

题目没有明确告诉你打印出的数据之间有公式或规律,   编写的代码不存在通不通用,灵不灵活之说.  
          所以此题不宜用循环来打印(反而低效,真的是初学者才会想用循环来).       而应该直接打印,高效及实用.  
  Top

65 楼leequnwan()回复于 2006-07-06 21:56:39 得分 0

#include<stdio.h>  
   
  main()  
  {  
            int   i,j,k;  
            for(i=1;i<=9;i++){  
                  for(j=1;j<=9-i;j++)  
                        printf("   ");  
                  for(k=1;k<=2*i-1;k++)  
                        printf("%d",i);  
                  printf("\n");  
            }  
  }  
  Top

66 楼mr_moran(漠然)回复于 2006-07-07 11:34:50 得分 0

仁者见仁智者见智,呵呵,学到了不少的东西.Top

67 楼rollor_phoe(柔枫)回复于 2006-07-07 12:46:41 得分 0

楼主的答案是最简单有效的,不过我想公司应该不是看在这一道题目上的吧!  
  可能还有其余的题目呢!不会就面试一道题吧!Top

68 楼open_sky(游戏人)回复于 2006-07-07 13:22:57 得分 0

楼主应该采用N种以上方法实现这个程序,但是,就是不用循环,气死他!Top

69 楼racewind()回复于 2006-07-07 18:11:51 得分 0

我晕,你用这种办法?如果他让你做这个:10   地100000次方,难道你要10×10×。。。。。。。。。。。。。这样么?Top

70 楼swimmer2000(时间是用来浪费的,所以每当我做了一点事都觉得很自豪)回复于 2006-07-07 18:23:59 得分 0

楼主确实达到了他们的要求,  
  楼主应该继续坚持自己的风格,  
  肯定能够找到欣赏你的人.Top

71 楼thelee(风继续吹)回复于 2006-07-07 23:02:39 得分 0

楼主很幽默啊Top

72 楼ericqxg007(还有很多东西要学(卡卡一米阳光))回复于 2006-07-08 01:37:02 得分 0

要是lz给出2个以上的方法   那估计面试官也就……  
  其实lz的完全符合要求的-_-!Top

73 楼cppstl()回复于 2006-07-08 08:37:53 得分 0

真是长见识了,各位老大都比我想像中的要COOL~~~~~~~~~~Top

74 楼sailor73cn()回复于 2006-07-08 11:42:13 得分 0

faint~~~~~~~~`  
  for   (int   i=1;i<=9;i++)  
  {        
          for   (int   j=i;j<9;j++)   cout<<"   ";  
          for   (int   k=9-i;k<9;k++)   cout<<i<<"   ";  
          cout<<endl;  
  }Top

75 楼yuqiyan(溪鱼)回复于 2006-07-09 09:52:31 得分 0

#include   <iostream.h>  
  void   main()  
  {  
    int   n=9;  
    int   i,   j,   k;  
    for(i=1;i<=n;i++)  
    {  
       
        for(k=n-i;k>=1;k--)  
            cout<<"   ";  
        for(j=2*i-1;j>=1;j--)  
          cout<<i;  
        cout<<endl;  
    }  
  }Top

76 楼qq11700()回复于 2006-07-09 11:05:53 得分 0

#include<stdio.h>  
  int   main()  
  {  
      int   i,j,n;  
      scanf("%d",&n);  
      for(i=1;i<=n;i++)  
      {  
          for(j=1;j<=n-i;j++)  
          printf("   ");  
          for(j=1;j<=2*i-1;j++)  
          printf("%d",i);  
          printf("\n");  
      }  
      return   0;  
  }  
  这个是对的Top

77 楼xiaojun19830916()回复于 2006-07-09 11:54:04 得分 0

强,   学习学习再学习.Top

78 楼wf520pb()回复于 2006-07-09 17:23:47 得分 0

to   LS_Winson():  
        你是说只用一个分号,一行来完成?那你的意思应该是main函数吧,不然包含头文件都算的话,怎么可能是一行。  
   
  我这样也算是1行了吧?  
  #include   <iostream.h>  
  #define   test     "                 1\n               222\n             33333\n           4444444\n         555555555\n       66666666666\n     7777777777777\n   888888888888888\n99999999999999999\n"  
  void   main(){cout<<test;}  
   
  //注意define到void   main中间的代码是在一行的  
   
  Top

79 楼jorneyR(胡言乱语不怕死的菜鸟)回复于 2006-07-09 17:43:54 得分 0

支持楼主,现在需要的是更多有创意的人才,大多数人是会随波逐流,直接用循环打出,但楼主别出出其不意,不按常归出牌,方为致胜之道,高!Top

80 楼FlowingWatering()回复于 2006-07-09 19:05:28 得分 0

楼主的确有想法......Top

81 楼Veiz(理论上存在)回复于 2006-07-09 20:13:56 得分 0

lz可以写几个程序:  
   
  代码量最少程序  
  运行速度最快程序  
  内存占用最少程序  
  最具通用性的程序  
  编写速度最快程序  
   
  ……  
  ……  
   
  最后来个“最匪夷所思程序”,哈哈Top

82 楼mark444555()回复于 2006-07-09 21:24:23 得分 0

#include   <stdio.h>  
  #include   <stdlib.h>  
  void   main(void)  
  {  
  for(int   i=0;i<9;i++)  
  {  
  for(int   j=0;j<36-i;j++)  
  {  
  printf("   ");  
  }  
  for(int   k=0;k<i*2+1;k++)  
  {  
  printf("%d",i+1);  
  }  
  printf("\n");  
   
  }  
  }  
  不如大家一起来研究下*菱形的方法,有多少来多少~这东西面视好象多啊!Top

83 楼smartwind(smartwind)回复于 2006-07-11 14:10:52 得分 0

楼主最妙的地方就是在第九行Top

84 楼YeTimmy()回复于 2006-07-11 14:57:30 得分 0

靠,你小子敢耍我  
  没为难你算不错了-_-!!  
   
   
  哈Top

85 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-07-11 15:51:17 得分 0

楼主搞笑啊。。。  
  Top

86 楼zhangshenghua(张胜华)回复于 2006-07-11 16:18:16 得分 0

LZ还不知道什么叫程序。Top

87 楼jimmy212(dear jim)回复于 2006-07-11 16:41:04 得分 0

大家兴趣都很足啊.Top

88 楼Heaven_Redsky(火骑士)回复于 2006-07-11 17:55:24 得分 0

我也凑凑热闹   呵呵    
   
  #include   <iostream>  
   
  using   namespace   std;  
   
  void   PrintN(const   int   &t,   const   int   &n)  
  {  
  for(int   i   =   0;   i   <   n;   i++)  
  {  
  cout   <<   t;  
  }  
  cout   <<   endl;  
  }  
  void   PrintNull(int   n)  
  {  
  for(int   i   =   0;   i   <   n;   i++)  
  {  
  cout   <<   "   ";  
  }  
  }  
  int   _tmain(int   argc,   _TCHAR*   argv[])  
  {  
  for(int   i   =   0;   i   <   9;   i++)  
  {  
  PrintNull(8   -   i);  
  PrintN(i   +   1,   2   *   i   +   1);  
  }  
  return   0;  
  }Top

89 楼yy80680169(403170387的QQ空间里有很多关于JAVA初学者的帖子)回复于 2006-07-14 00:58:39 得分 0

感觉面试官可以从此题中看出面试者的性格   这才是最重要的Top

90 楼superlee19()回复于 2006-07-14 02:38:00 得分 0

是不是还应该考虑哈奇数偶数的问题哦,不对齐的话好难看哦Top

91 楼wfwd(有一朵花,我想她已经驯养我了。。。)回复于 2006-07-14 13:12:09 得分 0

如果没有别的要求,楼主的方法绝对是最好的。人才。Top

92 楼shuigeng()回复于 2006-07-14 21:02:20 得分 0

千年之叹,你的数据结构学得很好吧,真是棒!Top

93 楼jiangalong(蓝色的风)回复于 2006-07-14 21:16:32 得分 0

搞过ACM的人这种题应该边看都不看一眼都能写出来的吧...  
   
  #include   <iostream>  
  using   namespace   std;  
   
  int   main()  
  {  
  int   i,j;  
  for(i=0;i<9;i++)  
  {  
  for(j=0;j<8-i;j++)  
  cout<<"   ";  
  for(j=0;j<(2*i+1);j++)  
  cout<<i+1;  
  cout<<endl;  
  }  
  return   0;  
  }Top

94 楼jiangalong(蓝色的风)回复于 2006-07-14 21:25:01 得分 0

不过看了这么多种不同的解法,真是长见识了啊Top

95 楼long33(阿龙)回复于 2006-07-14 22:12:18 得分 0

第一眼以为是作业,,后来发现是面试?Top

96 楼cambridgeboy(水木工作室)回复于 2006-07-14 22:17:35 得分 0

面试出这样的题目,算是比较简单了Top

97 楼gaowang1983()回复于 2006-07-15 16:55:17 得分 0

#include   <iostream.h>  
   
  void   out(int   i)  
  {  
  int   j;  
  for   (j=0;   j   <   9-i;   j++)  
  {  
  cout   <<   '   ';  
  }  
  for   (j=0;   j   <   2*i-1;   j++)  
  {  
  cout   <<   i;  
  }  
  cout   <<   endl;  
  }  
   
  void   main(void)  
  {  
  for   (int   i=1;   i<10;   i++)  
  {  
  out(i);  
  }  
  }Top

98 楼gushenghua(卖天鹅肉的蛤蟆)回复于 2006-07-15 19:26:28 得分 0

你真幽默,哈哈Top

99 楼superxiaomm(小美)回复于 2006-07-15 19:39:15 得分 0

我是老板,就要你了,因为你的算法复杂度低,而且达到要求。执行速度高,如果是好的公司,可能真会要你,因为你表新立意,你的思路开阔。很多中国公司由于中国的垃圾教育,使得思路僵化,很可悲的。Top

100 楼netxuning(大字报写手)回复于 2006-07-16 13:21:27 得分 0

学习,markTop

101 楼psusjh(大江风)回复于 2006-07-16 14:16:59 得分 0

for(int   i=1   ;i<=9;i++)  
  {  
  for(int   t=1;t<=9-i;t++)  
  cout<<"   ";  
  for(int   m=1;m<=2*i-1;m++)  
  cout<<i;  
  cout<<endl;  
  }Top

102 楼1073X(爱着未知数)回复于 2006-07-16 18:49:10 得分 0

题目不难,可是要做好也不容易,不应该用这样偷懒的方法。如果时间不允许另当别论了。可是要成为一流的程序员,应该有精益求精的精神。  
   
    yy80680169(403170387的QQ空间里有很多关于JAVA初学者的帖子)    
     
     
        感觉面试官可以从此题中看出面试者的性格   这才是最重要的  
   
  这个我喜欢。不要偷懒  
       
     
  Top

103 楼Ah_dong(哈米)回复于 2006-07-16 23:21:03 得分 0

//偶也贴一个  
  #include<iostream>  
  using   namespace   std;  
   
  int   main()  
  {  
  const   int   n=9;  
   
  for(int   i=1;i<=n;++i)  
  {  
  for(int   j=n-i;j>=1;--j)  
  cout<<"   ";  
  for(int   k=0;k<2*i-1;++k)  
  cout<<i;  
  cout<<endl;  
  }  
   
  return   0;  
  }Top

104 楼efita()回复于 2006-07-17 03:33:22 得分 0

我也写了一个,任意输入1-9的数字都可以!  
  #include   <iostream>  
  using   namespace   std;  
  void   output(int   n)  
  {  
  for(int   i=1,j=0;i<=n;i++,j=0)  
  {  
          while(j<n+i-1)   ++j<=n-i?cout<<"   ":cout<<i;  
  cout<<endl;  
  }  
  }  
  void   main()  
  {  
      int   n;  
      while(cin>>n)   output(n);  
  }Top

105 楼efita()回复于 2006-07-17 03:36:12 得分 0

核心代码三行搞定!  
  for(int   i=1,j=0;i<=n;i++,j=0)  
  {  
          while(j<n+i-1)   ++j<=n-i?cout<<"   ":cout<<i;  
  cout<<endl;  
  }Top

106 楼w5r2g0(freeDom)回复于 2006-07-17 11:25:05 得分 0

#include   <stdio.h>  
  #include   <stdlib.h>  
  int   main()  
      {  
          int   n,i,j;  
          scanf("%d",&n);  
          for(i=1;i<=n;i++)  
          {  
            for(j=0;j<2*n-2*i-1;j++)  
            printf("   ");  
            for(j=0;j<2*i-1;j++)  
            printf("%d   ",i);  
            printf("\n");  
          }  
          system("pause");  
          return   0;  
      }  
  Top

107 楼rand520(々翔)回复于 2006-07-19 18:21:04 得分 0

哈哈   不让你走才奇怪呢!!!!  
  晕死了   这样也行Top

108 楼Fshx(C++初探)回复于 2006-07-19 21:05:16 得分 0

笑什么笑   都给我严肃点Top

109 楼afgkidy(到处转悠找MONEY)回复于 2006-07-21 20:22:42 得分 0

做纪录,路过``Top

110 楼wang430903(味觉全无)回复于 2006-07-21 21:24:26 得分 0

LZ明天来我的公司吧!!!你被破格录用了!!Top

相关问题

关键词

得分解答快速导航

  • 帖主:bios8086
  • pluton
  • God_love_xyz
  • lddLinan
  • rabbit729

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo