C语言编程题:求3+33+333+3333+33333+… (3的个数由键盘输入) 求它的循环语句全解

 我来答
创作者CvHOkx15H5
2019-09-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.3万
采纳率:30%
帮助的人:997万
展开全部
/*
这个题用整型来做很危险的,n不需要很大就会溢出,以下用高精度算法来做。
*/
#include
<stdio.h>

//
用以控制结果的位数,可以改成更大的数字以满足更高精度的要求
#define
MAX_BIT
100
int
nbr[MAX_BIT];

void
check()
{

for
(int
i
=
0;
i
<
99;
++i)

{

if
(nbr[i]
>
9)

{

nbr[i
+
1]
+=
nbr[i]
/
10;

nbr[i]
%=
10;

}

}
}

void
calculate(int
a,
int
n)
{

for
(int
i
=
0;
i
<
n;
++i)

{

nbr[i]
=
a
*
(n
-
i);

}

check();
}

int
main()
{

int
n
=
0,
a
=
3;

int
i
=
MAX_BIT;

printf("输入%d的个数:",
a);

scanf("%d",
&n);

n
%=
MAX_BIT;

calculate(a,
n);

while
(i
>
0
&&
!nbr[--i]);

while
(i
>=
0)

{

printf("%d",
nbr[i--]);

}

return
0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式