注册 登录
编程论坛 C++教室

求a+aa+aaa……求n个a之和,可是为什么到第三个以后就不对了,就是输入2 2,结果对,输入2,3就错了。

_Strike 发布于 2016-04-12 23:41, 3553 次点击
#include <stdio.h>
#include <math.h>

int main()
{
    int a, n,i,sum;

    printf("please enter two integer for a and n:\n");
    scanf("%d %d",&a,&n);
    for(i=1,sum=0;i <= n;i++)
        {
            sum += a;
            a = a*10+a;
        }
    printf("%d",sum);
    return 0;
}
3 回复
#2
_Strike2016-04-12 23:47
我知道错哪了,可是不知道怎么改。
#3
_Strike2016-04-12 23:50
一发贴就会了。。
#4
yangfrancis2016-04-13 19:04
回复 3楼 _Strike
#include<iostream>
#include<math.h>
using namespace std;
int factor(int digit, int num)//digit是a,num是位数,求得指定位数的加数
{
      if(digit>9||digit<1||num<1)
          {cout<<"输入非法参数";return -1;}
      if(num==1)
           return digit;
      else
           return digit*pow(10,num-1)+factor(digit,num-1);
};
int Sum(int digit, int num)
{
    if(digit>9||digit<1||num<1)
        {cout<<"输入非法参数";return -1;}
    if(num==1)
        return digit;
    else
        return factor(digit,num)+Sum(digit,num-1);
}
int main()
{
    int a=3,n=4;
    cout<<Sum(a,n);
    return 0;
}
1