初学C,求教

tq01oyf 2004-05-03 10:33:03
求Sn=a+aa+aaa+…+aaa…aaa(n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。
#include<stdio.h>
void main()
{
int n,a,i,S=0;
scanf("%d,%d",&n,&a);
for(i=1;i<=n;i++)
{
S=S+(a)^i;
}
printf("S(%d)=%d",n,S);

}
...全文
41 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
freefalcon 2004-05-03
精简一下:
void main()
{
int n,a,i,S=0, temp;
scanf("%d,%d",&n,&a);
temp = 0;
for(i=1;i<=n;i++)
{
temp = temp * 10 + a;
S += temp;
}
printf("S(%d)=%d",n,S);

}
  • 打赏
  • 举报
回复
cngdzhang 2004-05-03
先构造这样的字符串,再用itol进行转换

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

void main()
{
int n,a,i;
long S=0;
char str[20];
scanf("%d%d",&n,&a);
for(i=1;i<=n;i++)
{
str[i-1]=a+'0';
str[i]='\0';
S=S+atol(str);
}
printf("S(%d)=%ld",n,S);

}


输入
5
1
输出
12345
  • 打赏
  • 举报
回复
Cathryn0000000 2004-05-03
#include<stdio.h>
int cal(int a,int i){ /*计算i个a的值*/
int j,k;
k=a;
for(j=1;j<i;j++)
k+=a*10;
return(k);
}

void main()
{
int n,a,i,S=0;
scanf("%d,%d",&n,&a);
for(i=1;i<=n;i++)
{
S=S+cal(a,i);
}
printf("S(%d)=%d",n,S);
}
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-03 10:33
社区公告
暂无公告