C语言,想求n+nn+nnn+...的和,下面的程序输出还是有问题。请详细解释,谢谢!

#include"stdio.h"#include"math.h"voidmain(){doublea,b,c,sum;doublei,count,n;printf("E... #include "stdio.h"
#include "math.h"
void main()
{
double a,b,c,sum;
double i,count,n;
printf("Enter how many numbers do you want to add:\n");
scanf("%lf",&n);
sum=0;
a=0;
b=0;
for (count = 1; count <= n; ++count)
{
for (i = 0; i < count; i++)
{
a=count*pow(10,i);
b+=a;
}
sum=b+sum;
}
printf("Result:%g\n",sum);
}
那么把这个程序改成计算1+22+333+4444+...的类型,应该怎么做?
展开
 我来答
美好还轻巧丶小雀M
2013-04-09
知道答主
回答量:7
采纳率:0%
帮助的人:5.4万
展开全部
你的循环体中的算法不对 按你的算法 例如输入n=5 则执行的顺序是
count=1 i=0 此时a= 1 b=1 sum=1
然后count=2 i=0 a=2 b=1+2=3 sum=1+3 =4
完全得不到5+55+555的效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappoomR2mMY9jhqH
2013-04-09 · TA获得超过353个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:157万
展开全部
int i,n;//int型,因为n应该是整数
double sum;//如果n太大只能用double防止溢出,但是会不准确
printf("Enter how many numbers do you want to add:\n");
scanf("%d",&n);//n应该是整数吧
sum=0;
for (i = 1; i <= n; i++)
{
sum+=pow((float)n,i);
}
printf("Result:%g\n",sum);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄金虱子
2013-04-09
知道答主
回答量:28
采纳率:0%
帮助的人:21.4万
展开全部
把b=0写到第一个for循环里面去试一下,b需要每次赋初值为0
追问
嗯这样子就对了。
请教有没有能尽快理清这些东西逻辑的办法额?谢谢!
追答
多上机实验,多去尝试设计一些基础的问题,想学好就要下工夫的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式