c语言 正整数如何表示

1/2+2/3+3/5+5/8....加到和为正整数为止如何表示?只要这一步就可以了。... 1/2+2/3+3/5+5/8....加到和为正整数为止如何表示?只要这一步就可以了。 展开
 我来答
天云小店
推荐于2017-10-11 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:783万
展开全部

在C语言中可以用unsigned int或unsigned short或unsigned char或unsigned long关键字来定义一个正整数变量。


unsigned int表示无符号整型。能表示数的范围为0~(2^16-1)(unsigned int占2字节,16位机系统,如Turbo C)或0~(2^32-1)(unsigned int占4字节,32位机系统,如Visual C++)。

unsigned short表示无符号短整型。能表示数的范围为0~(2^16-1)。

unsigned char表示无符号字符型。能表示数的范围为0~(2^8-1)。

unsigned long表示无符号字符型。能表示数的范围为0~(2^32-1)。


举例如下:

unsigned int a = 123;    // 定义一个无符号整型数a,并初始化为123
unsigned short b = 123;  // 定义一个无符号短整型数b,并初始化为123
unsigned char c = 123;   // 定义一个无符号字符型数c,并初始化为123
unsigned long d = 123;   // 定义一个无符号长整型数d,并初始化为123

注:具体选哪个关键字表示,就需要根据所需要表示整数的范围来进行选择。

sqiuzhao
推荐于2017-10-03 · TA获得超过1347个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:422万
展开全部
假如等式结果是x
然后定义int y;
y取x的整数部分,y=x;
最后判断 if(( x-(float)y)== 0.000) // 减去整数部分,判断小数部分是否为0
如果等式成立,就是你要的结果
追问
int main()
{
float i=0,p=1,q=2,s=1/2,t;
while ( )
{
i++;
t=p;
p=q;
q=t+q;
s=s+p/q;
}
printf("%d",s);
}

条件放在哪儿?
追答
int main()
{
float i=0,p=1,q=2,s=1/2,t;
long int k;
while (1)
{
i++;
t=p;
p=q;
q=t+q;
s=s+p/q;
k = s;
if((s-(float)k)==0) // 这里加条件
{
break;
}
}
printf("%d",s);
getch();
}
先声明下,我不知道你上面的式子写的有没有错,不过条件加在上面那里就可以了
int main()
{
float t=1,q=2,s=t/q,x,y=q;
long int k;
while (1)
{
x=y; // 这个式子的规律是前一个式子的分子分母和是下一个的分母,而前一个的分母则是下一个式子的分子
y=x+y;
s=s+x/y;
if((s-(float)k)==(float)0)
{
printf("%d",s);
getch();
return;
}
}
printf("%d",s);
getch();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轮直娇8081
2013-05-29 · TA获得超过1301个赞
知道小有建树答主
回答量:1208
采纳率:100%
帮助的人:615万
展开全部
这是求n个数的最小公倍数的事啊
设通项an/bn 第一项 a1=1,b1=2
第二项a1=b1,b2=a1+b1
三项a3=b2,b3=a2+b2
任务就是求解出所有分母的最小公倍数GBS
再把把有分数转化成同分母的数,用分子之和SUM去除GBS,如果整除就是正整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1024程序员
2020-11-26 · TA获得超过374个赞
知道答主
回答量:457
采纳率:0%
帮助的人:23.3万
展开全部

C语言经典例子之求解正整数位数

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
熊怜08U
2013-05-29 · TA获得超过138个赞
知道答主
回答量:81
采纳率:0%
帮助的人:45.6万
展开全部
先定义一个float 接受上面的值
然后应用位运算 看看这个float的值的二进制码某些位的值是否为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式