| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12323 人关注过本帖
标题:求Sn=a+aa+aaa+...+aaa...a( n个a) 之值,其中a是一个数字,n表示a的位数, ...
只看楼主 加入收藏
liujun45
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-11-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
求Sn=a+aa+aaa+...+aaa...a( n个a) 之值,其中a是一个数字,n表示a的位数,例如: 2+22+222+2222+22222 (此时n=
求Sn=a+aa+aaa+...+aaa...a( n个a) 之值,其中a是一个数字,n表示a的位数,例如: 2+22+222+2222+22222 (此时n=5)。n由键盘输入。
搜索更多相关主题的帖子: 键盘 
2016-11-13 19:56
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
程序代码:
#include<stdio.h>
int main()
{
    int n,a,sum,temp;

    printf("请输入位数和数字");
    scanf("%d%d",&n,&a);
    if (n==0||a==0)
    {
        printf("求和的结果为0\n");
        return 0;
    }
    sum=temp=a;
    while (--n)
    {
        a=temp+a*10;
        sum=sum+a;
    }

    printf("求和的结果为%d\n",sum);

    return 0;
}


[此贴子已经被作者于2016-11-13 22:42编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-13 22:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:5 
“竖式求和”是小学三年级的内容,从个位开始

个位是 (n*a)%10,记下进位是 (n*a)/10
十位是 ((n-1)*a)加上个位上的进位,再模数10,……
2016-11-13 22:35
向洪林
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:重庆市奉节县
等 级:版主
威 望:9
帖 子:118
专家分:405
注 册:2015-3-10
收藏
得分:5 
回复 2楼 九转星河
别人的问题不是完全给他写完的,留点思考的空间

新手上路,望大家多多照顾,谢谢!
2016-11-13 22:36
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 向洪林
我猜就算写了他也未必能达到我的书写水平~让他按照自己的思路写也好

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-13 22:38
jinjoxie
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:61
注 册:2015-6-3
收藏
得分:5 
回复 5楼 九转星河
你的方法考虑过位数么?用int,有长度限制的,要想没长度限制就要按位,用string来处理啊
2016-11-14 10:50
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 jinjoxie
用得着string.h吗,对于本题而言用普的int型数组就行了,何况对本题而言字符数组进行位数运算没有普通数组方便~
程序代码:
//求a+aa+aaa+aa……aa(n个a)的值

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int a,n,*s,i;
    
    printf("请输入位数和个数\n");
    while (scanf("%d%d",&n,&a)<2||a>9||a<=0||n<=0)
    {
        fflush(stdin);
        printf("输入数据有误,请重新输入\n");
    }
    s=(int *)malloc(n*sizeof (int));
    s[n]=a;
    
    for (i=n-1;i>=0;i--)
    {
         s[i]=a*(i+1);
         s[i]+=s[i+1]/10;
            s[i+1]%=10;
    }

    printf("%d+%d%d+%d%d%d+%d%d……%d%d(%d个%d)的值的结果如下:\n\n",a,a,a,a,a,a,a,a,a,a,n,a);
    for (i=0;i<n;i++)
         printf("%d",s[i]);
       printf("\n");
        
    return 0;
}


[此贴子已经被作者于2016-11-14 18:47编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-14 18:30
快速回复:求Sn=a+aa+aaa+...+aaa...a( n个a) 之值,其中a是一个数字,n表示a的位 ...
数据加载中...
 
   



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

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