帮忙检查下C++编程问题在哪里,并纠正。谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:33:40
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b,c,d,n,Sn;
cin>>a>>n;
d=a;
Sn=0;
c=0;
for(b=1;b<=pow(10,n);b+=(b*10))
{
a=a*b;
c=c+a;
Sn=Sn+c;
a=d;
}

cout<<"Sn="<<Sn<<endl;
return 0;
}
求Sn=a+aa+aaa+...+aa...a(n个a)之值

##include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b,c,d,n,Sn;
cin>>a>>n;
d=a;
Sn=0;
c=0;
for(b=1;b<pow(10,n);b=(b*10)) //这里改一下
{
a=a*b;
c=c+a;
Sn=Sn+c;
a=d;
}

cout<<"Sn="<<Sn<<endl;
return 0;
} 我把你的程序改了一下

pow(double x,double y)
pow方法是对DOUBLE 类型的进行求职
你用的是int型
会报错

二楼的代码中pow函数使用不对,这个函数的第一个参数得是一个浮点数。
下面的代码同样实现了楼主的意图,但for循环更容易让人理解,已通过调试!
int a,b,d,n,Sn;
cin>>a>>n;
d=a;
Sn=0;
for(b=1;b<=n;b++)
{
Sn += d;
d = d * 10 + a;
}

cout<<"Sn="<<Sn<<endl;