注册 登录
编程论坛 新人交流区

有一个16位的整数,每4位为一个数,写函数求他们的和。

江湖之神 发布于 2007-11-05 22:24, 1423 次点击

有一个16位的整数,每4位为一个数,写函数求他们的和。

解释:

整数1101 0101 1011 0111

和 1101+0101+1011+0111

19 回复
#2
gdshao2007-11-05 23:18
#include<iostream>
using namespace std;
main()
{
int a,b,i=1;
scanf("%d",&a);
for(;i<5;i++)
{b+=(a%1000);
a=a/1000;
}
printf("%d",b);
}
#3
cuihaipeng2007-11-05 23:25
#4
qq956204122007-11-06 11:07
回2楼:
看题目意思应该是二进制的数。你用的是十进制哦。
#5
风的迷藏2007-11-06 11:13

顶一个 学学

#6
风的迷藏2007-11-06 11:16
没说 清
#7
qq956204122007-11-06 11:22
#include<iostream>
using namespace std;
main()
{
int a,b,i=1;
scanf("%d",&a);
for(;i<5;i++)
{b+=(a%16);
a=a/16;
}
printf("%d",b);
}

[此贴子已经被作者于2007-11-6 11:36:09编辑过]

#8
xuexiaoji2007-11-06 11:29
顶!!!!
#9
chrisgee2007-11-06 12:09
不明白题目的意思。。。。
#10
第二种可能2007-11-06 12:10
#include<iostream>
using namespace std;
main()
{
int a,b,i=1;
scanf("%d",&a);
for(;i<5;i++)
{b+=(a%1000);
a=a/1000;
}
printf("%d",b);
}

这个不是C吗,和VB有什么关系呀
#11
lang00562007-11-06 12:39

看看,呵呵

#12
江湖之神2007-11-06 12:45
是二进制的
#13
关公2007-11-06 14:15
编程要工具吗?还是 DOS里运行? 有能教我的QQ409071025

[此贴子已经被作者于2007-11-6 14:15:38编辑过]


#14
majinfei2007-11-06 14:22
不懂题目的意思
#15
majinfei2007-11-06 14:23
你把睁开眼睛说清楚点,OK
#16
qq956204122007-11-06 14:49

回复楼主:

#include<cstdio>

int main()
{
using namespace std;
int sum=0,data=0,temp=0,i=0;
scanf("%d",&data);
for(i=0;i<4;i++)
{
temp=data&15; //data&15的作用是 取data的二进制末4位
sum+=temp; //求和
data<<=4; //data右移4位
}
printf("%d",data);
return 0;
}


在DEV C++中运行通过。

#17
孤心辰2007-11-06 15:07
唉,没办法,现在还没有学到函数,所以也只能看看~
#18
littlerice2007-11-06 21:22
汗是C还是C++。。。
#19
gdshao2007-11-06 22:23

呵呵

#20
wdyllff2007-11-07 12:55

把c 的思想用到vb 来不就可以了吗

1