如何用for循环实现a+aa+aaa+aaaa+。。。。请各位大侠帮忙

抓小偷的贼 2012-03-14 11:21:13
这是我写的程序 不要笑话哈
#include "stdio.h"
void main()
{
int a,n,sum1=0,sum2=0,i=1,j,p;
scanf("%d,%d",&a,&n);
for(j=1;j<=n;j++)
{
a=a*10^(j-1);
sum1=sum1+a;
}
printf("%d",sum1);


}
我写的不行 还请各位大侠帮忙
...全文
3387 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengwuqin 2012-03-19
  • 打赏
  • 举报
回复
用for循环呢,没注意,自己改吧
lengwuqin 2012-03-19
  • 打赏
  • 举报
回复
理解错了lz的意思,再给一个,应该符合了,结果是倒序输出,想正序输出,自己琢磨吧,很简单。

#include<stdio.h>

void main()
{
int temp,n,a;
temp=0;//初试低位向高位的进位是0,就是没有向各位进位的
scanf("%d %d",&n,&a);
while(n)
{
printf("%d",(n*a+temp)%10);//从低位向高位输出
temp=(n*a+temp)/10 ;//记录低位向高位的进位
n--;
}
getch();
}
戟荡天下 2012-03-15
  • 打赏
  • 举报
回复
19L NBA居然搞出这么长
cao_julians 2012-03-15
  • 打赏
  • 举报
回复
两种思维分析方式:
1.通项公式,是否能找到每一项的构造式子。

2.逐项公式,相邻两项的关系。

都试一试,一题多做,收获是N倍的
nanjingnew4 2012-03-15
  • 打赏
  • 举报
回复
zhao哥v5...
氰客 2012-03-15
  • 打赏
  • 举报
回复

#define GET_CHAR(a) (a + '0')

int DealNumber(int a, int n)
{
int sum = 0;
int tmpNum;
char *pNum = (char *)malloc(n + 1);

for (int i = 0; i < n; ++i)
{
*(pNum + i) = GET_CHAR(a);
*(pNum + i + 1) = '\0';

tmpNum = atoi(pNum);
sum += tmpNum;
}

free(pNum);
return sum;
}

没考虑int溢出、、、看着玩儿!
第二不及 2012-03-14
  • 打赏
  • 举报
回复
恩?我的运行没问题啊,输入1,3.逗号不要忘记[Quote=引用 5 楼 wyl2724 的回复:]

2楼的算法我试了 不行啊 还是没有输出
[/Quote]
蓝枫10 2012-03-14
  • 打赏
  • 举报
回复 1
额 这个不是强制转换···C++写习惯了!
你试下这个就行了
int a,n,sum1=0,j,p;
scanf("%d,%d",&a,&n);
p=a;
for(j=0;j < n;j++)
{
sum1=sum1+a;
a=a*10+p;
}
printf("%d",sum1);
return 0;
输入时,两个数用逗号隔开
[Quote=引用 7 楼 wyl2724 的回复:]

1楼 你用for(int j=0;j<n;j++)
强制转换int没有加() 而且j没有定义
解决这两个问题还是没有输出
[/Quote]
shyrgst 2012-03-14
  • 打赏
  • 举报
回复
顶三楼,是算法问题
lengwuqin 2012-03-14
  • 打赏
  • 举报
回复
自己写的一个,符合要求:

#include<stdio.h>

void main()
{
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("a");
printf("+");
}
getch();
}
戟荡天下 2012-03-14
  • 打赏
  • 举报
回复
scanf("%d,%d",&a,&n);
分两句写试试
抓小偷的贼 2012-03-14
  • 打赏
  • 举报
回复
1楼 你用for(int j=0;j<n;j++)
强制转换int没有加() 而且j没有定义
解决这两个问题还是没有输出
抓小偷的贼 2012-03-14
  • 打赏
  • 举报
回复
谢谢4楼 我是在写的时候用到了 后来改的时候没有删 谢谢啦 以后我会注意的
抓小偷的贼 2012-03-14
  • 打赏
  • 举报
回复
2楼的算法我试了 不行啊 还是没有输出
戟荡天下 2012-03-14
  • 打赏
  • 举报
回复
补充 lz定义的sum2、i=1可以去掉
戟荡天下 2012-03-14
  • 打赏
  • 举报
回复
LZ算法搞错了
for(j=1;j<=n;j++)
{
a=a*10^(j-1);
sum1=sum1+a;
}

j=1时,a=a*10^(j-1)结果是a0
j=2时,结果成a0*10=a00
可以这样写
for(。。。)
{
p+=a*10^(j-1);
sum=sum+p
}
第二不及 2012-03-14
  • 打赏
  • 举报
回复
#include <stdio.h>
void main()
{
int a,n,sum1=0,sum2=0,i=1,j,p=0;
scanf("%d,%d",&a,&n);
for(j=1;j<=n;j++)
{
p=p*10+1;
sum1=sum1+a*p;
}
printf("%d",sum1);


}
就在你的基础上改了,别怪我懒哈
蓝枫10 2012-03-14
  • 打赏
  • 举报
回复
#include "stdio.h"
void main()
{
int a,n,sum1=0;
scanf("%d,%d",&a,&n);
for(int j=0;j<n;j++)
{
sum1=sum1+a;
a=a*10+a;

}
printf("%d",sum1);


}
cbzjzsb123 2012-03-14
  • 打赏
  • 举报
回复
我擦,越来越长了,估计楼主都看不懂了,最好是在楼主的基础上改一下就好了
大海啊全是水 2012-03-14
  • 打赏
  • 举报
回复
//a + a*a + a*a*a + a*a*a*a .......

int n = 10;
int sum = 0;
int a = 5;
for(int i = 0; i < n, i++){
sum += a;
a*=5;
}

//a + aa + aaa + aaaa .........

int n = 10;
int sum = 0;
int a = 5;
int j = 1;
for(int i = 0; i < n, i++, j++){
sum += a;
j *= 10;
a += j;
}
加载更多回复(8)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧