c语言实现类似2+22+222+...+2..的计算,我这么写怎么结果有问题呢

c语言实现类似2+22+222+...+2..的计算,我这么写怎么结果有问题呢其中a表示数字2,n表示最大位数,我输入23得到246正确,24就错了... c语言实现类似2+22+222+...+2..的计算,我这么写怎么结果有问题呢其中a表示数字2,n表示最大位数,我输入2 3得到246正确,2 4就错了 展开
 我来答
xuzhouliuying
高粉答主

2017-04-02 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.5亿
展开全部

算法错误。稍加改动即可。

添加参数k

#include <stdio.h>
#include <math.h>
void main()
{
int i,a,m,n,k=0,sum=0;
scanf("%d%d",&a,&n);
for(i=0;i<n;i++)
{
m=a*(int)pow(10.0,(double)i);
k+=m;
sum+=k;
}
printf("Sn=%d",sum);
}
更多追问追答
追问
。我测试下,输入2 3,结果是244不是246🙄
追答

不知道你是怎么测试的。

我测试下,截图给你看:

以上为本程序测试结果的截图,是刚刚截的图。

请自查你是否抄对了。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式