| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:该程序的功能是什么?
只看楼主 加入收藏
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
 问题点数:0 回复次数:15 
该程序的功能是什么?
void main()
{
int x,y,z=0,a,b,k=1;
scanf("%d,%d",&x,&y);
while(x>0 && y>0){
a=x%2;x=x/2;b=y%2;y=y/2;
z=z+a*b*k;k=k*2;
}
printf("z=%d\n",z);
}
当输入10,14时,输出什么,该程序的功能是什么?
搜索更多相关主题的帖子: void 
2007-10-02 20:37
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
void main()
{
int x,y,z=0,a,b,k=1;/*定义并赋值整型变量*/
scanf("%d,%d",&x,&y);/*获得变量x,y的值,你输入10,14时候,x=10,y=14*/
while(x>0 && y>0){
a=x%2;/*判断x奇偶,奇a=1,偶a=0*/
x=x/2;/*x减小一半*/
b=y%2;/*判断y奇偶,奇b=1,偶b=0*/
y=y/2;/*y减小一半*/

z=z+a*b*k;/*过程中x,y不同时为奇的话,z值不变,否则加上后面的式子*/
k=k*2;
}/*这里是循环,控制条件就是当x,y同时大于0的时候就不停执行大括号里的句子*/
printf("z=%d\n",z);
}
结果应该是10,没运行,只是推断,lz可以单步运行来看各步的效果
或者改成下面的样子看过程也可以(未测试)
int main()
{
int x,y,z=0,a,b,k=1;
scanf("%d,%d",&x,&y);
while(x>0 && y>0){
a=x%2;
x=x/2;
b=y%2;
y=y/2;
z=z+a*b*k;
k=k*2;
printf("a=%d,x=%d,b=%d,y=%d,z=%d,k=%d\n",a,x,b,y,z,k);
}
printf("z=%d\n",z);
getch();
return 0;
}


简单的快乐着~
2007-10-02 23:06
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
作用好象是把x,y两个数转成2进制,再按位取与,最后在按权相加(转回10进制树)

简单的快乐着~
2007-10-02 23:12
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
知道代码的意思就可以知道功能了

Repeat  Life=Study;Until (death);
2007-10-02 23:14
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
2楼写得好详细.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-10-03 00:40
B2Mouse
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-9-4
收藏
得分:0 
以下是引用neverTheSame在2007-10-3 0:40:23的发言:
2楼写得好详细.

是啊,狂赞~~


2007-10-03 02:36
心随风飞
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2007-9-7
收藏
得分:0 
2楼的 强
2007-10-03 08:13
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
2楼不错!终于看到好的一帖了

You have lots more to work on! Never give up!c language!
2007-10-03 10:47
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
呀,呵呵,太感谢2楼的了.

2007-10-03 15:28
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
以下是引用奔跑的鸟在2007-10-2 23:12:56的发言:
作用好象是把x,y两个数转成2进制,再按位取与,最后在按权相加(转回10进制树)
我好象就是这句话不理解.都没见把它们转换成二进制数啊...

2007-10-03 15:38
快速回复:该程序的功能是什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013278 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved