Xcode写C++(程序练习1)

求Sn=a+aa+aaa+…+aa…a(n个a)之值,其中a是一个数字,n表示a的位数,例如:2+22+222+2222+22222(此时n=5),n由键盘输入。

1⃣️第一步,首先试想如何将2转变为22,即2x10+2=22,则可以写出tmp=tmp*10+a,经过循环最终得到含有五个2的22222.

#include <iostream>
//得到数字aaaaa...a,例如(2,5)->22222
int GetNum(int a,int n)
{
    int tmp =0;
    for(int i=0;i<n;i++)
    {
        tmp=tmp*10+a;
    }
    return tmp;
}
int main()
{
    printf("%d\n",GetNum(2,5));
    return 0;
}

输出结果:22222
在这里插入图片描述
代码块1:
int GetNum(int a,int n)
{
int tmp =0;
for(int i=0;i<n;i++)
{
tmp=tmp*10+a;
}
return tmp;
}
int main()
{
printf("%d\n",GetNum(2,5));
return 0;
}

2⃣️在第一次写的代码的基础上增加一个求和函数,首先由第一步的函数得到每一轮的tmp,再将tmp的值逐个相加。本题即2+22+222=246。

#include <iostream>
//得到数字aaaaa...a,例如(2,5)->22222
int GetNum(int a,int n)
{
    int tmp =0;
    for(int i=0;i<n;i++)
    {
        tmp=tmp*10+a;
    }
    return tmp;
}
int Sum(int a,int n)
{
    int tmp =0;
    for(int i=0;i<=n;i++)
    {
        tmp+= GetNum(a,i);
    }
    return tmp;
}
int main()
{
    printf("%d\n",Sum(2,3));
    return 0;
}

输出结果:246
在这里插入图片描述
源代码如下:
#include
//得到数字aaaaa…a,例如(2,5)->22222
int GetNum(int a,int n)
{
int tmp =0;
for(int i=0;i<n;i++)
{
tmp=tmp*10+a;
}
return tmp;
}
int Sum(int a,int n)
{
int tmp =0;
for(int i=0;i<=n;i++)
{
tmp+= GetNum(a,i);
}
return tmp;
}
int main()
{
printf("%d\n",Sum(2,3));
return 0;
}

原创文章 6 获赞 13 访问量 172

猜你喜欢

转载自blog.csdn.net/Mugler_/article/details/106159948