CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

几个笔试的题目~~~大家做做看~~~

楼主treey2001(treey2001)2005-04-16 22:03:30 在 C/C++ / C语言 提问

1。不借助其他变量,用算法实现交换两个参数的函数  
  2。输入一个十进制数,输出一个16进制的字符串,不借助其他函数  
  3。给出一个栈的出栈,入栈,和判断栈是否为空的函数,并由两个栈来模拟一个队列,得到操作队列的函数  
      包括:入队,出队,检验队是否为空  
  4。实现一个单链表的逆置  
  题目比较简单~~~看看谁的算法最好~~~~  
  问题点数:20、回复次数:22Top

1 楼llf_hust()回复于 2005-04-16 22:05:26 得分 0

1。不借助其他变量,用算法实现交换两个参数的函数  
  void   Swap(int   *i,   int   *j)  
  {  
       
      *i   =   *i^*j;  
      *j   =   *i^*j;  
      *i   =   *i^*j;  
  }    
  Top

2 楼llf_hust()回复于 2005-04-16 22:06:48 得分 0

4。实现一个单链表的逆置  
  题目比较简单~~~看看谁的算法最好~~~~struct   IntNode*   res(struct   IntNode*   h)  
  {  
              struct   IntNode   *s,   *s1;  
              s   =   h;  
              h   =   NULL;  
              while   (s)  
              {  
                    s1   =   s;  
                    s     =   s->next;  
                    s1->next   =   h;  
                    h   =   s1;  
                }      
            return   h;  
  }  
   
   
  Top

3 楼llf_hust()回复于 2005-04-16 22:08:06 得分 0

4。实现一个单链表的逆置  
  struct   IntNode*   res(struct   IntNode*   h)  
  {  
              struct   IntNode   *s,   *s1;  
              s   =   h;  
              h   =   NULL;  
              while   (s)  
              {  
                    s1   =   s;  
                    s     =   s->next;  
                    s1->next   =   h;  
                    h   =   s1;  
                }      
            return   h;  
  }  
  Top

4 楼zhangfjj(小张)回复于 2005-04-16 22:09:24 得分 10

1.这个题目做过好多次  
      b=a+b;  
      a=b-a;  
      b=b-a;好象是吧?  
  Top

5 楼llf_hust()回复于 2005-04-16 22:13:01 得分 0

a   =   a+b;  
  b   =   a-b;  
  a   =   a-b;Top

6 楼llf_hust()回复于 2005-04-16 22:16:46 得分 0

2。输入一个十进制数,输出一个16进制的字符串,不借助其他函数  
   
  int   i;  
  char   s[20];  
  scanf("%d",&i);  
  sprintf(s,"%x",i);  
  puts(s);  
  应该是这样吧Top

7 楼zhangfjj(小张)回复于 2005-04-16 22:25:33 得分 0

2.  
  /*输入一个十进制数,输出一个16进制的字符串,不借助其他函数*/  
  #include   <stdio.h>  
  #include   <string.h>  
  int   main()  
  {  
  int   i,j=0,t;  
  char   str[256],temp;  
  printf("Please   input   a   number:   ");  
  scanf("%d",&i);  
  do  
  {  
  t=i%16;  
  i=i/16;  
  switch(t)  
  {  
  case   10:str[j]='a';break;  
  case   11:str[j]='b';break;  
  case   12:str[j]='c';break;  
  case   13:str[j]='d';break;  
  case   14:str[j]='e';break;  
  case   15:str[j]='f';break;  
  default:   str[j]=t+'0';  
  }  
  j++;  
  }while(i>0);  
  str[j]='\0';  
  /*用strlen()不算是用了库函数吧,自己写也比较简单*/  
  j=strlen(str);  
  for(i=0;i<j/2;i++)  
  {  
  temp=str[i];  
  str[i]=str[j-i-1];  
  str[j-i-1]=temp;  
  }  
           
   
  printf("%s",str);  
  return   0;  
  }  
   
  注意,用的是int,不能超出int的范围Top

8 楼zhangfjj(小张)回复于 2005-04-16 22:26:18 得分 0

sprintf(s,"%x",i);  
  ==========人家说了,不能借助其他函数Top

9 楼ZDL627(天)回复于 2005-04-16 22:28:09 得分 0

typedef   struct   node*   link;  
   
  link   reverse(link   h)  
  {  
      link   t,y=h,r=NULL;  
      while(y!=NULL)  
      {t=y->next;y->next=r;r=y;y=t;}  
      return   r;  
  }Top

10 楼dongpy(51-->ARM)回复于 2005-04-16 23:02:58 得分 5

4。实现一个单链表的逆置  
   
  struct   Node*   revers(struct   Node*   h)  
  {  
  Node   *pnext   =   h->Next;  
  h->Next   =   NULL;  
  while   (   pnxt   !=   NULL   )  
  {  
  IntNode   *ptmp   =   pnext->Next;  
  pnext->Next   =   h;  
  h   =   pnext;  
  pnext   =   ptmp;  
  }  
  return   h;  
  }  
  Top

11 楼inlin()回复于 2005-04-16 23:36:02 得分 5

#include   "stdafx.h"  
  #include   <iostream.h>  
  #include   <stdlib.h>  
   
  void   dectobin(int   num,int   base);  
   
  int   main(int   argc,   char*   argv[])  
  {  
  int   decimal;  
  int   base;  
  base=2;  
  cout<<"enter   number   in   decimal:";  
  cin>>decimal;  
  cout<<endl;  
  cout<<"decimal   "<<decimal<<"   =   ";  
  dectobin(decimal,base);  
  cout<<"   binary"<<endl;  
  system("PAUSE");  
  return   0;  
  }  
   
  void   dectobin(int   num,int   base)  
  {  
  if(num>0)  
  {  
  dectobin(num/base,base);  
  cout<<num%base;  
  }  
  }  
   
   
  修改一下就可以了Top

12 楼treey2001(treey2001)回复于 2005-04-17 12:26:06 得分 0

大家做得都很不错哦~~~  
  第一题用这个算法最简单  
  b=a+b;  
  a=b-a;  
  b=b-a;Top

13 楼treey2001(treey2001)回复于 2005-04-17 12:31:06 得分 0

再补一题~~~  
  5。随机在54个位置放置54张牌~~每个位置只能放一张和放一次~~~(实际就是一副扑克牌了)  
   
  大家都来练练手~~Top

14 楼ccplus(++cc)回复于 2005-04-17 12:47:05 得分 0

b=a+b;  
  a=b-a;  
  b=b-a;  
  好。。。Top

15 楼pcboyxhy(-273.15℃)回复于 2005-04-17 13:27:05 得分 0

2.  
   
  printf("%x",....Top

16 楼pcboyxhy(-273.15℃)回复于 2005-04-17 13:29:31 得分 0

#include   <iostream.h>  
   
      int   n,   i=0;  
      char   p[64],   hexn[]="0123456789ABCDEF";  
      cin>>n;    
      while(n>0){p[i++]=n&0xf;   n>>=4;}  
      while(--i>=0)   cout<<hexn[int(p[i])];  
       
  Top

17 楼treey2001(treey2001)回复于 2005-04-18 12:28:19 得分 0

UP~~Top

18 楼52china(飞刀又见飞刀)回复于 2005-04-18 13:27:31 得分 0

2。输入一个十进制数,输出一个16进制的字符串,不借助其他函数  
   
  static   const   char   h[16]   =   {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};  
  void   rev(int   v,   char   *ph)  
  {  
          int   i   =   0;  
          whlie(v   &&   i<8)  
          {  
                  ph[i++]   =   h[v&15];  
                  v   >>=   4;  
          }  
  }  
  Top

19 楼heguosheng(何国胜)回复于 2005-04-18 14:43:39 得分 0

顶一个Top

20 楼kiko_lee(清醒的迷茫中)回复于 2005-04-18 16:33:40 得分 0

长了见识了亚Top

21 楼kiko_lee(清醒的迷茫中)回复于 2005-04-18 16:39:48 得分 0

第三个:  
   
  算法不太好。  
   
  入队列简单  
   
  push入A   Stack  
   
  出队列  
   
  将A   Stack的item全部   pop   ,将pop的item全部push入B   stack。  
  如果A   stack为空了,则pop   B   stack的最上一个出队列。  
  B   stack的其他item全部挨个pop,再挨个push入   A   stack。恢复一下。  
   
  判断为空  
  之间判断A   stack是否为空就好。Top

22 楼martmy(白金汉公爵)回复于 2005-04-18 17:33:34 得分 0

好Top

相关问题

  • Intel笔试题目
  • 请老师分析几个笔试题目吧
  • 几道笔试题目,大家讨论哈
  • 几个Java笔试编程的题目,大家看看
  • 推荐Delphi笔试题目
  • 求救:笔试题目
  • 两个笔试题目
  • 群硕笔试题目
  • 中兴笔试题目
  • tencent的笔试题,大家来做做

关键词

  • 函数
  • 算法
  • null
  • 队列
  • 题目
  • pnext
  • stack
  • 逆置
  • struct intnode
  • 借助其他

得分解答快速导航

  • 帖主:treey2001
  • zhangfjj
  • dongpy
  • inlin

相关链接

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

广告也精彩

反馈

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