黑马程序员技术交流社区
标题:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+222...
[打印本页]
作者:
JonathanF
时间:
2016-5-21 00:54
标题:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+222...
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时 共有5个数相加),几个数相加有键盘控制。
作者:
JonathanF
时间:
2016-5-21 01:08
顶!!!!!!!!!
作者:
huzhiqiang
时间:
2016-5-21 13:33
我是这样做的,不知道有没有更简单的方法呢?
#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 15:54
本帖最后由 kfcmm 于 2016-5-21 16:07 编辑
这里 详细 正解
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
int a=0,n=0; //记录 相加的数 以及 个数
int m=0,sum=0; // 记录每次要相加的数 以及 总和
int count=1;//记录 10 的 N次方
printf("请输入a :\n");
scanf("%d",&a);
printf("请输入相加的个数:\n");
scanf("%d",&n);
for(int i = 0; i < n; i++)
{
m=m + a*count; // 记录每一次的数值
count=count*10; // 10 的 N次方
sum=sum + m; // 把每一次的数值 相加
printf("%d ",m); // 打印每次要相加的数
}
printf("最后相加 sum= %d\n",sum);
return 0;
}
复制代码
作者:
牛牛很牛
时间:
2016-5-21 16:23
huzhiqiang 发表于 2016-5-21 13:33
我是这样做的,不知道有没有更简单的方法呢?
#include
答案很详细
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2