| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1910 人关注过本帖
标题:求Sn=a+aa+aaa+.....(aaa..aaa)n个a 之值,其a中一个数字,n表示a的位数
只看楼主 加入收藏
ccmelomelo
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2010-10-24
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:10 
求Sn=a+aa+aaa+.....(aaa..aaa)n个a 之值,其a中一个数字,n表示a的位数
例如:2+22+222+2222+22222(此时n=5)

#include<stdio.h>
void main()
{
  int a,n,k,i;
  long int sum;           
  scanf("%d,%d",&a,&n);               
  for(i=1,k=0,sum=0;i<=n;i++)         
{
    k+=a;                        
    sum+=k;
    a*=10;
}
  printf("sum=%ld\n",sum);
 getch();
}
哪里出错了?
搜索更多相关主题的帖子: aaa 位数 数字 
2010-11-28 13:51
柳絮初飘
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-13
收藏
得分:0 
回复 楼主 ccmelomelo
程序代码:
#include <stdio.h>
main()
{
int a,n,sum=0,b=0,i;
scanf("%d,%d",&a,&n); //a表示输入的数,n表示有多少个 例:n=5 a=2
for(i=1;i<=n;i++)
{
b=b+a;
sum=sum+b;
a=a*10;
}
printf("2+22+222+2222+22222=%d",sum); 

}
2010-11-28 15:11
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:5 
程序代码:
#include<stdio.h>

int
main(void)
{
      int n,i;
      long int a,sum,k;
               

      scanf("%ld,%d",&a,&n);  /*注意输入格式 2,5 */
      for(i=1,k=0,sum=0;i<=n;i++)        

      {
            k+=a;
            printf("%ld ",k);
            sum+=k;
            a*=10;
      }
      printf("sum=%ld\n",sum);
      getch();
      return 0;
} 
2010-11-28 16:02
kkaidandan
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2010-11-26
收藏
得分:0 
#include<stdio.h>
void main()
{
  int a,n,k,i;
  long int sum;           
  scanf("%d",&a);
  scanf("%d",&n);
  for(i=1,k=0,sum=0;i<=n;i++)         
{
    k+=a;                        
    sum+=k;
    a*=10;
}
  printf("sum=%ld\n",sum);

}
2010-11-28 16:49
kkaidandan
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2010-11-26
收藏
得分:0 
#include<stdio.h>
void main()
{
  int a,n,k,i;
  long int sum;           
  scanf("%d%d",&a,&n);
  for(i=1,k=0,sum=0;i<=n;i++)         
{
    k+=a;                        
    sum+=k;
    a*=10;
}
  printf("sum=%ld\n",sum);

}
你多了一个逗号
2010-11-28 16:51
kkaidandan
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2010-11-26
收藏
得分:0 
另外一种方法:
#include<stdio.h>
#include<math.h>
void main ()
{
int a,i=0,n;
long term2=0,term=0;
printf("please input a number :\n");
scanf("%d",&a);
printf("please input a number :\n");
scanf("%d",&n);
while(i<n)
{
term=term+ a*pow(10,i);
term2=term2+term;
i++;
}
printf("the number is %d\n",term2);
}
2010-11-28 16:54
ccmelomelo
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2010-10-24
收藏
得分:0 
回复 6楼 kkaidandan
我是运行过你的,是不行的,你看看3楼的吧,要把a,sum,k都设为长整型。
2010-11-28 18:13
abc3210cba
Rank: 2
等 级:论坛游民
帖 子:63
专家分:97
注 册:2010-9-26
收藏
得分:0 
以下是引用ccmelomelo在2010-11-28 13:51:30的发言:

例如:2+22+222+2222+22222(此时n=5)
 
#include
void main()
{
  int a,n,k,i;
  long int sum;            
  scanf("%d,%d",&a,&n);               
  for(i=1,k=0,sum=0;i<=n;i++)         
{
    k+=a;                          
    sum+=k;
    a*=10;
}
  printf("sum=%ld\n",sum);
 getch();
}  
哪里出错了?
循环里面错了
你这循环是
2+20+200+2000+20000了
应该是
k+=a;
sum+=k;
k*=10;
2010-11-28 18:31
abc3210cba
Rank: 2
等 级:论坛游民
帖 子:63
专家分:97
注 册:2010-9-26
收藏
得分:0 
不是长度问题。。。
2010-11-28 18:35
kkaidandan
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2010-11-26
收藏
得分:0 
回复 6楼 kkaidandan
没道理的,我运行通过的
再说为什么要把a 和k设成长整型??
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-11-28 20:41
快速回复:求Sn=a+aa+aaa+.....(aaa..aaa)n个a 之值,其a中一个数字,n表示a的位 ...
数据加载中...
 
   



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

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