初学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);

}
...全文
99 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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);
}

70,023

社区成员

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

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