求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制

首先先求出当输入一个数n的时候,求出当前的数

int fn(int a,int n)
{
	int tmp = a;

	while(--n)
	{
		a = a * 10 + tmp;
	}
	return a;
}

接着算来累加求和:

int slosum(int a,int n)
{
	int i = 0;
	int sum = 0;
	for(i = 1;i<=n;i++)
	{
		sum = sum +fn(a,i);
		printf("%d",fn(a,i));
		if(i != n)
		{
			printf("+");
		}
	}
	printf(" = %d",sum);
}

最后结果:
在这里插入图片描述


总结:先分清楚逻辑关系,在来分步骤求解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章