CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

几个面试小题

楼主mmxopq()2006-04-05 10:54:02 在 C/C++ / C语言 提问

第一题:给一个数字n,比如说4,打印矩阵  
  1234  
  2341  
  3412  
  4123  
  第二题:递归法求一个数组的和  
  这个是填空题,不记得了  
  大家解决一下! 问题点数:20、回复次数:19Top

1 楼LoveTrista(祈祷)回复于 2006-04-05 11:08:59 得分 0

Q1:  
  char   data[5]   =   {1,   2   ,3   ,4   ,5};  
   
  int   _tmain()  
  {  
          //   TODO:   Please   replace   the   sample   code   below   with   your   own.  
  // void   (A::*fptr)()   =   &A::abc;  
  int   i,   j;  
   
  i   =   j   =   0;  
   
  for(i   =   0;   i   <   5;   i++)  
  {  
  j   =   i;  
  Console::Write(data[j]);  
  while(((j   +   1)   %   5)   !=   i)  
  {  
  j   =   ((j   +   1)   %   5);  
  Console::Write(data[j]);  
  }  
  Console::Write("\n");  
  }  
  return   0;  
  }Top

2 楼jinjiajie(leorio)回复于 2006-04-05 11:14:04 得分 0

...不   像是面试题,到像是回家作业...Top

3 楼mmxopq()回复于 2006-04-05 11:46:06 得分 0

要传递参数n=4啊  
  矩阵的第一行是1,2,~,n  
  不是给好了数组的,不是打印4,上面只是例子,比如偶要打印5Top

4 楼Ninstein(www.Ninstein.Com)回复于 2006-04-05 11:48:12 得分 0

好象是微软的面试题捏Top

5 楼Ninstein(www.Ninstein.Com)回复于 2006-04-05 11:59:44 得分 2

#include   <stdio.h>  
   
  #define   MAX   100  
   
  void   PrintLine(int,   int);  
  void   PrintMatrix(int);  
   
  void   PrintMatrix(int   n)  
  {  
  int   i;  
  for(i   =   1;   i   <=   n;   ++i,printf("\n"))  
  PrintLine(n,i);  
  }  
   
  void   PrintLine(int   n,   int   start)  
  {  
  int   i;  
  for(i   =   start;   i   <=   n;   ++i)  
  printf("%d   ",i);  
  for(i   =   1;   i   <   start;   ++i)  
  printf("%d   ",i);  
  }  
   
   
  int   main()  
  {  
  int   arr[MAX],n;  
  scanf("%d",&n);  
  PrintMatrix(n);  
  return   0;  
  }Top

6 楼Ninstein(www.Ninstein.Com)回复于 2006-04-05 12:03:07 得分 1

#define   MAX   100  
  相关的东西都不要了   除非真的要存到数组里  
  #include   <stdio.h>  
   
  void   PrintLine(int,   int);  
  void   PrintMatrix(int);  
   
  void   PrintMatrix(int   n)  
  {  
  int   i;  
  for(i   =   1;   i   <=   n;   ++i,printf("\n"))  
  PrintLine(n,i);  
  }  
   
  void   PrintLine(int   n,   int   start)  
  {  
  int   i;  
  for(i   =   start;   i   <=   n;   ++i)  
  printf("%d   ",i);  
  for(i   =   1;   i   <   start;   ++i)  
  printf("%d   ",i);  
  }  
   
   
  int   main()  
  {  
  int   n;  
  scanf("%d",&n);  
  PrintMatrix(n);  
  return   0;  
  }  
  Top

7 楼dream2013(每个人都有魔鬼的一面( http://blog.sina.com.cn/u/1422260677 ))回复于 2006-04-05 12:28:04 得分 2

#2    
  int   sum(a,n){  
  if(n==1)    
            return   a[0];  
  else   if(n>1)    
              return   (a[n-1]+sum(a,n-1));  
  }Top

8 楼dream2013(每个人都有魔鬼的一面( http://blog.sina.com.cn/u/1422260677 ))回复于 2006-04-05 12:29:14 得分 0

#感觉第一题很无聊Top

9 楼citywanderer2005(流浪狗)回复于 2006-04-05 12:53:52 得分 2

第二题:  
  #include   <iostream>  
  using   namespace   std;  
   
  int   RecursionSum(int   *a,   int   subs)  
  {  
  if(subs   ==   0)  
  {  
  return   a[subs];  
  }  
  else  
  {  
  return   RecursionSum(a,   subs-1)+a[subs];  
  }  
  }  
  int   main()  
  {  
  int   a[]   =   {1,   2,   3};  
  cout<<   RecursionSum(a,   sizeof(a)/sizeof(a[0])   -1);  
  }Top

10 楼citywanderer2005(流浪狗)回复于 2006-04-05 13:09:08 得分 2

第一题:  
  void   Print(int   n)  
  {  
  for(int   start=1;   start<=n;   start++)  
  {  
  for(int   i=start;   i<=n;   i++)  
  {  
  cout<<   i;  
  }  
  for(int   j=1;   j<start;   j++)  
  {  
  cout<<   j;  
  }  
  cout<<   endl;  
  }  
  }  
  int   main()  
  {  
  Print(5);  
  }Top

11 楼blh(当你不割肉时,你的损失只是个数字,当你割肉时,你的损失就是你的肉)回复于 2006-04-05 13:34:02 得分 2

int   print_matrix   (int   N)  
  {  
  int   i,   j,   n;  
   
  for   (i   =   1;   i   <=   N;   i++)  
  {  
  for   (j   =   0;   j   <   N;   j++)  
  {  
  n   =   (i   +   j)   %   N;  
  printf("%d",   n   ?     n   :   N);  
  }  
  printf("\n");  
  }  
   
  printf("\n");  
  return   0;  
  }  
   
  int   sum_array   (int   a[],   int   N)  
  {  
  return   (N   ==   1)   ?   a[0]   :   a[0]   +   sum_array(a   +   1,   N   -   1);  
  }  
  Top

12 楼blh(当你不割肉时,你的损失只是个数字,当你割肉时,你的损失就是你的肉)回复于 2006-04-05 13:34:30 得分 1

#include   <stdio.h>  
   
  int   print_matrix   (int   N)  
  {  
  int   i,   j,   n;  
   
  for   (i   =   1;   i   <=   N;   i++)  
  {  
  for   (j   =   0;   j   <   N;   j++)  
  {  
  n   =   (i   +   j)   %   N;  
  printf("%d",   n   ?     n   :   N);  
  }  
  printf("\n");  
  }  
   
  printf("\n");  
  return   0;  
  }  
   
  int   sum_array   (int   a[],   int   N)  
  {  
  return   (N   ==   1)   ?   a[0]   :   a[0]   +   sum_array(a   +   1,   N   -   1);  
  }  
   
   
  int   main   (int   argc,   char   *argv[])  
  {  
  int   n[]   =   {1,   2,   3,   4,   5,   6};  
  int   sum;  
   
  print_matrix(4);  
  print_matrix(5);  
   
  sum   =   sum_array(n,   6);  
  printf("sum   =   %d\n",   sum);  
   
  return   0;  
  }  
  Top

13 楼For_suzhen(不懂装懂)回复于 2006-04-05 13:34:38 得分 1

Q1:  
  #include   <stdio.h>  
  void   Print(   int   n   )  
  {  
          int   i   =   1,j   =   0;  
          for   (   i   =   1;i   <=   n;i++   )  
          {  
                  for(   j   =   i;j   <     n   +   i;j++   )  
                  {  
                          if   (   j   %   n   ==   0   )  
                          {  
                                  printf(   "%d"   ,   n   );  
                          }  
                          else  
                          {  
                                  printf("%d",   j   %   n   );  
                          }  
                  }  
                  printf("\n");  
            }  
  }  
  void   main()  
  {  
          Print(4);  
          //getch();  
  }Top

14 楼xhbbs2006()回复于 2006-04-09 15:12:55 得分 2

#include<stdio.h>  
  void   main()  
  {  
  for(int   i=1;i<=4;i++)  
  {  
  for(int   j=0;j<4;j++)  
  if(i+j<=4)  
                          printf("%d",i+j);  
                          else  
                                  printf("%d",i+j-4);  
  printf("\n");  
  }  
   
  }Top

15 楼pangumax(盘古)回复于 2006-04-18 22:22:24 得分 1

void   print(int   n)  
  {  
  for(int   i=0;i<n;i++){  
    for(int   j=1;j<=n;j++)  
    {  
      if((i+j)%n   ==   0)  
      printf("%d   ",n);  
      else  
      printf("%d   ",(i+j)%n);  
    }  
    printf("\n");  
  }  
  }Top

16 楼Mypiger(深圳 step by step)回复于 2006-04-19 15:45:40 得分 1

Q1:  
  void   main()    
  {  
  int   value   =   0,   tmp   =   0;  
  scanf(   "%d",   &value   );  
  for(   int   i=1;   i<=value;   i++   )  
  {  
  for(   int   j=0;   j<value;   j++   )  
  {  
  tmp   =   i+j;  
  if(   tmp>value   )  
  tmp   -=   value;  
  printf(   "%d",   tmp   );  
  }  
  printf(   "\n"   );  
  }  
  }Top

17 楼Mypiger(深圳 step by step)回复于 2006-04-19 15:55:52 得分 1

Q2:  
  int   sum(   int   a[],   int   n   )  
  {  
  if(   n   ==   1   )    
            return   a[0];  
  else    
      if(   n   >   1   )    
              return   (   a[n-1]+sum(   a,   n-1   )   );  
  }  
   
   
  void   main()    
  {  
  int   a[3]   =   {   1,   2,   3   };  
  printf(   "%d",   sum(   a,   3   )   );  
  }Top

18 楼lijichao(木子)回复于 2006-04-19 18:48:56 得分 1

#include   <iostream>  
  #include   <vector>  
  #include   <algorithm>  
  using   namespace   std;  
   
  void   Print(int   n)  
  {  
  vector<int>   A(n);  
  for   (int   i=0;   i<n;   i++)  
  {  
  A[i]=   i+1;  
  }  
  vector<int>::iterator   p   =   A.begin();  
  vector<int>   temp(n);  
  for   (int   j=0;   j<n;j++)  
  {  
  copy(A.begin(),A.end(),temp.begin());  
   
  copy(temp.begin(),temp.end(),ostream_iterator<int>(cout,"   "));  
  cout<<endl;  
  rotate_copy(temp.begin(),temp.begin()+1,temp.end(),A.begin());  
   
  }  
  }Top

19 楼jiangjundu(将军肚卸顶没文化穷)回复于 2006-04-20 09:29:25 得分 1

#include   <stdio.h>  
  void   dpl(int   n)  
  {  
          int   i,j,k;  
  for(j=1;j<=n;j++)//col    
  {  
  for(i=j,k=1;k<=n;k++,i++,i>n?(i-=n):(i=i))//line  
  printf("%d   ",i);  
  printf("\n");  
  }  
  }  
  void   main()  
  {  
  int   n;  
  scanf("%d",&n);  
  dpl(n);  
  }Top

相关问题

关键词

得分解答快速导航

  • 帖主:mmxopq
  • Ninstein
  • Ninstein
  • dream2013
  • citywanderer2005
  • citywanderer2005
  • blh
  • blh
  • For_suzhen
  • xhbbs2006
  • pangumax
  • Mypiger
  • Mypiger
  • lijichao
  • jiangjundu

相关链接

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

广告也精彩

反馈

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