c++求2+22+222+2222+22222。。。

2025-06-27 17:48:02
推荐回答(4个)
回答1:

#include
void main()
{
int sum=0;
int a=2;
int n;
cout<<"qing shu ru yi ge zheng shu";
cin>>n;
for(int i=1;i<=n;i++ ) // 注意i<=n后面为分号,i++后不需要分号
{
sum =sum + a; // 若按你的写法,i=1时,加的就是22,不是2了
a = (a*10+2); // 需不断更新a,
}
cout<<"...."<}

回答2:

sum=sum+(a*10+a);这里有问题 a 一直是2
可以这样替换
int digital=1;
for(int j=0;j{digital=digital*10;} //计算最高位数为多少位
a=a+a*digital;
sum=sum+a;

回答3:

int a = 0;
int times = 1; //倍数
int j;

for(int i=1;i<=n,i++;)
{
a = a * times + 2;
times = times * 10;
sum += a;
}

回答4:

两个for就行了