lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
阅读:2251回复:31

问个算法,大家给看看:)

楼主#
更多 发布于:2005-04-02 20:53
今天笔试的一个题目,题目如下:

有两个整形变量A和B,写一个算法,在不引入第三个变量的情况下交换A和B的值。
最后写出算法后,试讨论一下这种算法的风险性。
(用JAVA,C++ ,C实现均可以)
小弟数据结构学的很烂,对这个题目有点模糊,想请各位大虾指点一二,最好是用JAVA和C实现,因为小弟不懂C++ :p

--------------------
[fly]酒肉穿肠过,佛祖心中坐![/fly] [ 2005-04-02 21:01:22 lijiannan_1981 修改 ]
无。
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
1C#
发布于:2005-04-02 22:50
Re:问个算法,大家给看看:)
用 Python 吧。
代码如下:
a, b = b, a -------------------- 我就是我,松柏!
日志:http://songbai.blog.wait4c.com/
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
下网卡
知名人士
知名人士
  • 铜币1枚
  • 威望1点
  • 贡献值0点
2C#
发布于:2005-04-02 23:00
Re:问个算法,大家给看看:)
沙发 --------------------
了解我,就解此码,PP女生快来

个人爱情宣言
特别想念kmwang, APH, momo, 松松,旺旺
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2005-04-02 23:26
Re:问个算法,大家给看看:)
[em086]
沙发--------------------了解我,就解此码,PP女生快来个人爱情宣言

敢跟老大抢沙发 -------------------- [fly]酒肉穿肠过,佛祖心中坐![/fly]
无。
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
4C#
发布于:2005-04-02 23:32
Re:问个算法,大家给看看:)
#include "stdio.h"

void foo(int a, int b, int *c, int *d)
{
  *c = b;
  *d = a;
  return;
}

int main()
{
  int a, b;
  a = 1;
  b = 2;

  printf("a: %d, b: %d\n", a, b);
  foo(a, b, &a, &b);
  printf("a: %d, b: %d\n", a, b);

  return 0;
}
-------------------- 我就是我,松柏!
日志:http://songbai.blog.wait4c.com/
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
5C#
发布于:2005-04-03 09:42
Re:问个算法,大家给看看:)
三楼可耻地失败鸟[em079]

测试了一下:)
--------------------            [a=http://blog.csdn.net/GOJYO/]向北的路灯灭了.我不知道我是谁.NorTH.Path[/a]
               ~      ???????         幸福是一雙溫暖的紅唇   ?
        幸福的距离遥不可及
      
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2005-04-03 17:49
Re:问个算法,大家给看看:)
才想明白
妈的,这么简单原来
A=A+B
B=A-B --> B变成A
A=A-B --> A变成B
风险在与整数越界

操!回去继续抓基础 -------------------- [fly]酒肉穿肠过,佛祖心中坐![/fly]
无。
小妖夏夏
论坛版主
论坛版主
  • 铜币393枚
  • 威望10点
  • 贡献值6点
7C#
发布于:2005-04-03 18:49
Re:问个算法,大家给看看:)
不会,嘎嘎 -------------------- 今夜我不再彷徨,
      天使的翅膀载着圣洁的月光,
  为我送来欢愉,我的心开始神游,
    踏上漫游缪斯的礼堂!

中年妇妖-_-"
fatty
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
8C#
发布于:2005-04-04 03:34
Re:问个算法,大家给看看:)
才想明白妈的,这么简单原来A=A+BB=A-B --> B变成AA=A-B --> A变成B风险在与整数越界操!回去继续抓基础--------------------酒肉穿肠过,佛祖心中坐!

好像是学过
但我也早忘了
我反应迟钝~ 网络处男~
小飞雪
著名写手
著名写手
  • 铜币19枚
  • 威望1点
  • 贡献值0点
  • 社区居民
9C#
发布于:2005-04-04 05:07
Re:问个算法,大家给看看:)
才想明白妈的,这么简单原来A=A+BB=A-B --> B变成AA=A-B --> A变成B风险在与整数越界操!回去继续抓基础--------------------酒肉穿肠过,佛祖心中坐!


呵呵
看了你的才想到~
-------------------- 四脚蛇数字艺术工作室`
沧海笑声隐 飞雪随风逝
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
10C#
发布于:2005-04-04 08:33
Re:问个算法,大家给看看:)
JAVA实现如下(eclipse3.0 下编译通过):

import java.lang.*;
import java.io.*;

public class testChange{
  
     public static void main(String [] args)
    {
          int A;
          int B;
        
          System.out.println("请输入变量A:");
          A=(int)System.in.read();

          System.out.println("请输入变量B:");
          B=(int)System.in.read();

          A=A+B;
          B=A-B;  //B变成了A;
          A=A-B; //A变成了B;

         System.out.println("经过变量替换,A="+A);
         System.out.println("经过变量替换,B="+B);
  
   }
}


至于风险的问题,是小学三年级的数学问题,在这里就不说了

哪位大虾把C++的实现方法写在这里吧,小弟不懂C++

--------------------
[fly]酒肉穿肠过,佛祖心中坐![/fly]
[ 2005-04-04 08:37:11 lijiannan_1981 修改 ] [ 2005-04-04 08:38:01 lijiannan_1981 修改 ]
无。
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
11C#
发布于:2005-04-04 11:47
Re:问个算法,大家给看看:)
c++就把 System.out.println() 换成cout<<""<<endl;
System.in.read() 换成 cin<<""; [em079]

看来看去还是 python 好:)
偶数学不及格已经很久了。。。T_T --------------------            [a=http://blog.csdn.net/GOJYO/]向北的路灯灭了.我不知道我是谁.NorTH.Path[/a]
               ~      ???????         幸福是一雙溫暖的紅唇   ?
        幸福的距离遥不可及
      
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
12C#
发布于:2005-04-04 15:21
Re:问个算法,大家给看看:)
我们已经在 http://www.osdn.cn/bbs/msg.php?id=2 上开始讨论这个了 -------------------- 我就是我,松柏!
日志:http://songbai.blog.wait4c.com/
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
13C#
发布于:2005-04-04 16:18
Re:问个算法,大家给看看:)
松柏说说如何用“Python ”来实现呢? -------------------- [fly]酒肉穿肠过,佛祖心中坐![/fly]
无。
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
14C#
发布于:2005-04-04 16:25
Re:问个算法,大家给看看:)
如何??都写出来啦已经

a = 1
b = 2
a, b = b, a

就可以了 -------------------- 我就是我,松柏!
日志:http://songbai.blog.wait4c.com/
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
15C#
发布于:2005-04-04 16:30
Re:问个算法,大家给看看:)
广告;) --------------------            [a=http://northway.blogchina.com]寻找失落的路灯 @ North.Light[/a]
               ~      ???????         幸福是一雙溫暖的紅唇   ?
        幸福的距离遥不可及
      
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
16C#
发布于:2005-04-07 18:55
Re:问个算法,大家给看看:)
a ^= b ^= a ^= b;
讲过的,讲课失败啊
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
17C#
发布于:2005-04-07 19:08
Re:问个算法,大家给看看:)
Java要分开写
a ^= b;
b ^= a;
a ^= b;
而且这个不像上面的有溢出危险,没危险
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
18C#
发布于:2005-04-07 20:11
Re:问个算法,大家给看看:)
幸好我没乱放屁,要不就让kmwang知道我没去上课了 -------------------- 痛饮苦丁茶……
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
19C#
发布于:2005-04-07 20:30
Re:问个算法,大家给看看:)
^是位运算符.
以前从来没注意这类运算符,其实位运算符对提高程序的运行效率很有帮助哦,我想起一段培训课上得小插曲,说的是一个清华的学生写一个乘2的操作不用*2而是用<<1,喝喝.
通过以上故事说明,编程很有意思,我也要好好学习,哈哈
顺便提醒一下 >> 和 >>> 的区别

--------------------
痛饮苦丁茶……
[ 2005-04-07 20:38:35 southeast 修改 ]
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
20C#
发布于:2005-04-08 04:05
Re:问个算法,大家给看看:)
偶们老师没讲过。。。看书看过一次又忘了。。 --------------------            [a=http://northway.blogchina.com]寻找失落的路灯 @ North.Light[/a]
               ~      ???????         幸福是一雙溫暖的紅唇   ?
        幸福的距离遥不可及
      
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
21C#
发布于:2005-04-08 07:57
Re:问个算法,大家给看看:)
kmwang来了 -------------------- [fly]酒肉穿肠过,佛祖心中坐![/fly]
无。
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
22C#
发布于:2005-04-08 09:08
Re:问个算法,大家给看看:)
老牛就是老牛 -------------------- 我就是我,松柏!
日志:http://songbai.blog.wait4c.com/
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
23C#
发布于:2005-04-08 10:40
Re:问个算法,大家给看看:)
问个问题
老牛是谁? kmwang?
怎么也应该叫老王吧 -------------------- [fly]酒肉穿肠过,佛祖心中坐![/fly]
无。
猪八戒
写手
写手
  • 铜币1枚
  • 威望0点
  • 贡献值0点
24C#
发布于:2005-05-21 00:16
Re:问个算法,大家给看看:)
楼上各位都很厉害
小弟佩服的紧 -------------------- [fly]我就是那头趟了取经混水的猪![/fly]
我回帖还是有质量的
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
25C#
发布于:2005-05-21 09:54
Re:问个算法,大家给看看:)
楼上很少出现了啊..跑哪去了. --------------------            [a=http://northlight.digital-pulse.net/]寻找失落的路灯 @ North.Light[/a]
   有沒有事比死更容易? 有沒有事比活更難?
               ~     幸福是一雙溫暖的紅唇    ~
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
26C#
发布于:2006-03-22 17:44
Re:问个算法,大家给看看:)
去年面试中国教育电子公司的题目

呵呵

时间真快啊,一年了都。
无。
suchasplus
作家
作家
  • 铜币16枚
  • 威望11点
  • 贡献值1点
27C#
发布于:2006-03-24 11:08
Re:问个算法,大家给看看:)
时光流逝~
The history of these days will be written in blood... By crushing the armies of our enemy, by seizing the weapons they thought to turn against us, we were fighting for our very existence!
北京小妞
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
28C#
发布于:2006-03-24 20:08
Re:问个算法,大家给看看:)
马上一年咯,我那是也在找工作!
[b] [color=#ff0036]Every breath you take Every move you make Every bond you break Every step you take I'll be watching you Every single day Every word you say Every game you play Every night you say I'll be watching you O can't you see You belong to me How my poor heart aches With every step you take Every move you make Every vow you break Every smile you fake Every claim you stake I'll be watching you[/color] [/b]
fyfunny
普通会员
普通会员
  • 铜币0枚
  • 威望0点
  • 贡献值0点
29C#
发布于:2006-03-26 12:16
Re:问个算法,大家给看看:)
这么简单的问题我都没想到,唉,伤心啊
大学的时光真好
上一页
游客

返回顶部