大众计算机学习网

专门提供各种电脑教程

C语言算法之不同位数的相同数字相加的分析

Admin | 2007-12-20 21:00:33 | 被阅次数 | 7082

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

  程序分析:关键是计算出每一项的值。

  程序源代码:

  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);

  }