经典c程序(0016)---s=a+aa+aaa+aaaa+aa...a的值

来源:互联网 发布:w7如何添加网络打印机 编辑:程序博客网 时间:2024/05/29 08:05
/*************************************************************************************** Function     : test* Create Date  : 2014/03/31* Author       : NTSK13* Email        : beijiwei@qq.com* Copyright    : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。                 任何单位和个人不经本人允许不得用于商业用途* Version      : V0.1  * date         : 2014/03/31***************************************************************************************  经典c程序(0016)题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时   共有5个数相加),几个数相加有键盘控制。**************************************************************************************/#include<stdio.h>#define MY_FUNC  1#if MY_FUNCint get_10n(int n);int get_sum(int a,int n);int main(){    int i=0,a=0,n=0,result=0;   // printf("%d",get_10n(3));printf("Plz input number 'a': \n");fflush(stdout);//修复Eclipse printf()不能显示的小bugscanf("%d",&a);printf("Plz input times : \n");fflush(stdout);scanf("%d",&n);for(i=0;i<n;i++){result+=get_sum(a,n-i);}printf("result is %d : \n",result);return 0;}int get_10n(int n){if(n==0)return 1;elseif(n==1)return 10;elsereturn 10*get_10n(n-1);}int get_sum(int a,int n){if(n<2)return a;elsereturn get_sum(a,n-1)+a*get_10n(n-1);}#elseint main(){int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\n");fflush(stdout);scanf("%d,%d",&a,&n);printf("a=%d,n=%d\n",a,n);fflush(stdout);while(count<=n){tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld\n",sn);fflush(stdout);return 0;}#endif


0 0
原创粉丝点击