文章目录
引入分析代码运行测试引入
求序列和:输入 2 个正整数 a 和 n,求 a+aa+aaa+aa…a(n 个 a)之和。例如, 输入 2 和 3,输出 246(2+22+222)。试编写相应程序。
分析
编写一个函数求每项的值,把求和与每项的值分开写成函数。
代码
#include <stdio.h>//声明函数 int SumA(int a,int n);int fn(int a, int n);int main(void) {/**.求序列和:输入 2 个正整数 a 和 n,求 a+aa+aaa+aa…a(n 个 a)之和。例如,输入 2 和 3,输出 246(2+22+222)。试编写相应程序*/int a,n;printf("Entry a Entry n :");scanf("%d",&a);scanf("%d",&n);int sum;//调用求和函数 sum = SumA(a,n);//打印和 printf("sum = %d",sum);return 0; }/**给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++?+aa?a(n个a)之和其中函数fn须返回的是n个a组成的数字;SumA返回要求的和*///fn求数列的每一列int fn( int a, int n ){//定义初始化变量int t = a,i = 1;//通过循环得到每一项for(i = 1; i < n; i++){//定义临时变量int temp = 1,j;for(j = 1; j <= i; j++){//得到获取十位、百位、千位...temp*=10;}//得到每一项t+=temp*a;}//返回项return t;}//SumA求所有列的和int SumA( int a, int n ){//定义求和变量和自增变量int sum=0,i;for(i = 1; i <= n; i++){//传入每一项,累加求和sum+=fn(a,i);}return sum;}
运行测试
求序列和:输入 2 个正整数 a 和 n 求 a+aa+aaa+aa…a(n 个 a)之和。例如 输入 2 和 3 输出 246(2+22+222)。试编写相应程序