A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
    共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
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);
}

3 个回复

倒序浏览
不错!思路清晰!
回复 使用道具 举报
一个题目的算法有多种。我们可以通过分析得出更好的结论。
就拿你的例子来讲,s=2+22+222+2222+22222;我们可以理解成1个2万+2个2千+3个200+4个20+5个2;
  1. int n=5,a=2;s=0;t=1;
复制代码



回复 使用道具 举报
求解··22222222222222222222222222222222222222这么多2···怎么加···
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马