标题:求解a+aa+aaa........+aaaaaaaa(n个a)。其中a和n是键盘读入的整数。
只看楼主
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
得分:0 
我也试试……
#include<stdio.h>
void main()
{int a,n,i,m,sum;
 printf("please input the a and n\n");
 scanf("%d,%d",&a,&n);
 if(n<1)
 printf("ERROR\n");
 else
 {
  sum=a;
  m=a;
  for(i=1;i<n;i++)
  {
   sum=a+sum*10;                  /* sum为该串数中的最大值 */
   m=m+sum;                       /* m为和 */
  }
 }
 printf("result is %d\n",m);
}

我很懒,但我讨厌别人说我懒……
2010-05-26 21:22
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
得分:0 
晕……没看上面回复,貌似我的算法和2楼一模一样……尴尬……

我很懒,但我讨厌别人说我懒……
2010-05-26 21:23
源本英明C
Rank: 3Rank: 3
来 自:日本
等 级:论坛游侠
帖 子:113
专家分:154
注 册:2010-5-14
得分:0 
您的输出结果肯定会让你吃一惊。呵呵

柔术:打败对手的最好方法就是心狠手辣,因为对手不会给你太多机会,如果他够厉害!
2010-05-27 09:22
源本英明C
Rank: 3Rank: 3
来 自:日本
等 级:论坛游侠
帖 子:113
专家分:154
注 册:2010-5-14
得分:0 
执行的顺序是:
sum=a+sum*10;                  /* sum为该串数中的最大值 */
   m=m+sum;                       /* m为和 */
所以最后一次是执行m+=sum;所以m的值肯定比sum还要大!不过,还是谢谢你的指点!

柔术:打败对手的最好方法就是心狠手辣,因为对手不会给你太多机会,如果他够厉害!
2010-05-27 09:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307722-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.478684 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved