本文主要是介绍C语言-5月11日 求Sn = a+aa+aaa+…aa…a之值,其中a是一个数字,n表示a的位数,n由键盘输入,例如:a = 2 2+22+222+2222+22222(此时n=5),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<stdio.h>
#include<math.h>
int main()
{int a = 0;int n = 0;//定义a,n的整型值,并进行初始化scanf("%d%d",&a,&n);int num = a;//每一循环后的值int sum = 0;//最后加起来的总值for(int i = 1;i<=n;i++){sum = sum + num;//使每一次循环后的值加起来printf("%d\n",num);//输出每一次循环后的值num = num + a*pow(10,i);//实现累加的步骤例如a=2,n=2,那么第二位的值就是2*10的零次方+2*10的一次方}printf("%d\n",sum);//输出总值return 0;
}
如图,我输入a=2;b=5
输出完成
输出结果为24698.
从运行结果中可以看出程序可以将每一次循环的结果都输出,并且将所有循环的结果全部都加起来最后输出。
经过函数的封装的代码:
#include<stdio.h>
#include<math.h>
int suma(int a,int n)//定义suma函数
{int num = a;int sum = 0;for(int i = 1;i <= n;i++){sum += num;num = num+(a*pow(10,i));}return sum;//返回值为sum
}
int main()
{int a,n;//定义a,n整型值scanf("%d%d",&a,&n);//输入两个整型值printf("%d\n",suma(a,n));return 0;
}
如图,我输入a和n的值分别为3和3,经过演算,应该为:3+33+333=369,让我们看看程序:
输出完成
这篇关于C语言-5月11日 求Sn = a+aa+aaa+…aa…a之值,其中a是一个数字,n表示a的位数,n由键盘输入,例如:a = 2 2+22+222+2222+22222(此时n=5)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!