c语言问题求解答?

S=a+aa+aaa+.........
输入a,n,输出S。
n表示相加的个数。

直接上代码

#include<iostream>

using namespace std;

void main()

{

int a,n;

cout<<"请输入a:"<<endl;

cin>>a;

cout<<"请输入n:"<<endl;

cin>>n;

int c=a;

int S=0;

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

{

S+=c;

c=c*a;

}

cout<<"S="<<S<<endl;

}

如果a不是整数的话自行修改int为double或者float。冲了

追问

这是c吗?

看不懂……

追答

先在编译器里看有什么bug

我用C艹写的

追问

谢谢,但是我是小白,而且我学的c……

追答

#include
#include

int main()
{
int a, n, i, sum = 0, m;
scanf("%d%d", &a, &n);
m = 0;
for(i = 1; i <= n; i++)
{
m = 10 * m + a;
sum = sum + m;
}
printf("%d\n", sum);
return 0;
}

新的这个看得懂吗?

追问

追答

APP上总会显示不全

追问

谢谢谢谢

#include
#include
int main()
{
int a,n,sum;
scanf("%d %d",&a,&n);
int i,j,k;
for(k=1,sum=0;k<=n;k++)
{
for(i=0,j=0;j<=k-1;j++)
{
if(j=0)
i=a;
else
i+=a*pow(10,j);
}
sum+=i;
}
printf("%d",sum);
return 0;
}

能帮我看一下这个错在哪里吗

谢谢

追答

这个地方是j==0

你把赋值当成相等条件了

每次都给j赋值为0,j就会一直小于等于k-1,无尽循环下去

追问

谢谢谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-03
运行结果是1,3,5
首先,i
=
1,进入循环,由于i=1,i<4,,不执行if里面的语句,执行 printf(("%d\n",i++);输出1,再使i值加1,i=2,接着执行i++,此时i=3
第二次循环,i+1>0为真,进入循环体 由于i=3,i<4,,不执行if里面的语句,执行 printf(("%d\n",i++);输出3, 再使i值加1,i=4,执行i++,此时i=5
第三次循环, i+1>0为真,进入循环体,由于i=5,i>5,执行if里面的 {printf("%d\n",i);输出5,下一句break;跳出循环,程序结束
相似回答