/**********************************************************************************************************
* Function : test
* Create Date : 2014/03/17
* Author : NTSK13
* Email : beijiwei@qq.com
* Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。
任何单位和个人不经本人允许不得用于商业用途
转载请注明 转自 http://blog.csdn.net/beijiwei
* Version : V0.1
* date : 2014/03/17
* history : V0.1
***********************************************************************************************************
经典c程序(0011)
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制。
**********************************************************************************************************/
#include<stdio.h>
#define MY_FUNC 1
#if MY_FUNC
int get_value(int b,int m);
int main()
{
int i=0,a=0,n=0,result=0;
printf("Plz input number 'a': \n");
scanf("%d",&a);
printf("Plz input times 'n': \n");
scanf("%d",&n);
for(i=1;i<n+1;i++)
result+=get_value(a,i);
printf("The total is %d \n",result);
return 0;
}
int get_value(int b,int m)
{
int i=0,tmp=1;
if(m==1)
return b;
if(m==2)
return b*10+b;
for(i=0;i<m-1;i++)
tmp=tmp*10;
return get_value(b,m-1)+b*tmp;
}
// refer answer
#else
/*程序分析:(a>b)?a:b这是条件运算符的基本例子。
*/
main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n : \n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}
#endif
经典c程序(0011)---求s=a+aa+aaa+aaaa+aa...a的值
最新推荐文章于 2023-11-07 20:41:40 发布