
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+...的类型,应该怎么做? 展开
#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+...的类型,应该怎么做? 展开
展开全部
你的循环体中的算法不对 按你的算法 例如输入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的效果
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的效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把b=0写到第一个for循环里面去试一下,b需要每次赋初值为0
追问
嗯这样子就对了。
请教有没有能尽快理清这些东西逻辑的办法额?谢谢!
追答
多上机实验,多去尝试设计一些基础的问题,想学好就要下工夫的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |