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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时  共有5个数相加),几个数相加有键盘控制。

4 个回复

倒序浏览
顶!!!!!!!!!
回复 使用道具 举报
我是这样做的,不知道有没有更简单的方法呢?
#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    int a = 0,count = 0,sum = 0;
   
    printf("请输入a =\n");
    scanf("%d",&a);
    printf("请输入要相加多少个数:\n");
    scanf("%d",&count);
    for(int i = 0; i < count; i++)
    {
        sum+=a;
        a=a+a*10;
    }
    printf("%d个数相加的和为%d\n",count,sum);
    return 0;
}
回复 使用道具 举报
本帖最后由 kfcmm 于 2016-5-21 16:07 编辑

这里 详细 正解

  1. #include <stdio.h>
  2. int main(int argc, const char * argv[]) {
  3.         // insert code here...
  4.         int a=0,n=0; //记录 相加的数  以及 个数
  5.         int m=0,sum=0; // 记录每次要相加的数 以及 总和
  6.         int count=1;//记录 10 的 N次方
  7.         printf("请输入a :\n");
  8.         scanf("%d",&a);
  9.         printf("请输入相加的个数:\n");
  10.         scanf("%d",&n);
  11.         for(int i = 0; i < n; i++)
  12.         {
  13.             
  14.             m=m + a*count; // 记录每一次的数值
  15.             
  16.             count=count*10; // 10 的 N次方
  17.             
  18.             sum=sum + m; // 把每一次的数值 相加
  19.         
  20.             printf("%d  ",m); // 打印每次要相加的数
  21.             
  22.         }
  23.         printf("最后相加 sum= %d\n",sum);
  24.    
  25.     return 0;
  26. }
复制代码
回复 使用道具 举报
huzhiqiang 发表于 2016-5-21 13:33
我是这样做的,不知道有没有更简单的方法呢?
#include

答案很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马