| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 586 人关注过本帖, 1 人收藏
标题:求简单方法!!!
只看楼主 加入收藏
林凡
Rank: 2
等 级:论坛游民
帖 子:31
专家分:61
注 册:2013-7-29
结帖率:100%
收藏(1)
 问题点数:0 回复次数:6 
求简单方法!!!
/***************************************
*****函数名:void main()
*****实现功能:S=a+aa+aaa+...+aaaaa(a的个数为n个)
***************************************/

#include <stdio.h>
#include <math.h>
void main()
{
 int i,a,b,n,S=0, sum=0;
 scanf("%d,%d",&a,&n);
 b=0;
 for(i=0;i<n;i++)
 {
    b=a*(pow(10.0,i));
    printf("b=%d\n",b);
    sum=sum+b;   
    printf("sum=%d\n",sum);
    S=S+sum;
    printf("S=%d\n",S);

 }

}
搜索更多相关主题的帖子: 简单方法 include aaaaa 
2013-10-22 15:25
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
这个也可用双层循环方法,用递归更直观简洁,但也受限

[ 本帖最后由 qunxingw 于 2013-10-22 16:20 编辑 ]

www.qunxingw.wang
2013-10-22 16:08
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
程序代码:
#include <stdio.h>

int main(void)
{
    int i,a,n,S=0,sum=0;
    scanf("%d%d",&a,&n);
    for(i=0;i<n;i++)
    {
        sum=a+sum*10;
        printf("sum=%d\n",sum);
        S=S+sum;
        printf("S=%d\n",S);
    }

    return 0;
}
2013-10-22 16:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
如果用int存储的话,n值大一点就会溢出。我帮你写个吧

如果你用的是符合标准的C编译器
程序代码:
#include <stdio.h>

int main()
{
    int a, n;
    scanf( "%d,%d", &a, &n );

    char buf[n+2];
    buf[n+1] = '\0';
    for( int c=0; n>=0; --n )
    {
        buf[n] = (a*n+c) % 10 + '0';
        c = (a*n+c) / 10;
    }

    printf( "%s\n", buf+(buf[0]=='0') );
   

    return 0;
}

如果你用的是不符合标准的老旧C编译器
程序代码:
#include <stdio.h>
#include <malloc.h>


int main()
{
    int a, n, c;
    char* buf;

    scanf( "%d,%d", &a, &n );
    buf = malloc( (n+2)*sizeof(char) );

    buf[n+1] = '\0';
    for( c=0; n>=0; --n )
    {
        buf[n] = (a*n+c) % 10 + '0';
        c = (a*n+c) / 10;
    }

    printf( "%s\n", buf+(buf[0]=='0') );

    free( buf );
    return 0;
}

2013-10-22 16:16
C_printf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:122
注 册:2010-1-26
收藏
得分:0 
程序代码:
#include <stdio.h>

int f(int a1,int n1)
{
    if(n1<=0) return 0;
    return a1 * n1 + f(a1,n1-1) * 10;
}

int main()
{
    int a,n;
    scanf( "%d,%d", &a, &n );
    printf( "%d\n", f(a,n));
    return 0;
}
2013-10-22 17:04
天楚
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:楚地
等 级:小飞侠
帖 子:550
专家分:2113
注 册:2013-3-14
收藏
得分:0 
都不错哦~~~

没有哪条路好走,选择了,就坚持下去~~~~
2013-10-22 19:02
lsh496100
Rank: 2
等 级:论坛游民
帖 子:14
专家分:23
注 册:2013-10-16
收藏
得分:0 
回复 5楼 C_printf
高啊。
2013-10-22 21:58
快速回复:求简单方法!!!
数据加载中...
 
   



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

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