c语言求sn
① 用c语言编写一个程序求Sn=a+aa+aaa+aaaa+....
#include<stdio.h>
voidmain()
{
intx,n=1,sum=0;
floata,tn;
scanf("%f%d",&a,&x);//请注意我这里不是用逗号实现的
tn=a;
while(n<=x)
{
sum=sum+tn;
tn=tn*10+a;
n++;
}
printf("%d",sum);
}
请问还有问题吗
② C语言编程:求Sn=a+aa+aaa+···+aa··a(n个a)的值,其中a和N键盘输入
#include <stdio.h>
void main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}
③ C语言编写:求Sn=a aa aaa … aa…a n个a之值
#include<stdio.h>
voidmain(){
inti,a,n,m=0,s=0;
scanf("%d%d",&a,&n);
for(i=0;i<n;i++)
{m=m*10+a;s+=m;}
printf("S=%d",s);
}
运行示例:
即输入a的值为2,n的值为5时
Sn=2+22+222+2222+22222=24690
④ C语言题目求Sn=a+aa+aaa+aaaa+.....+aaa...a(n个a)之值,其中a是一个数字,n表示a的位数!
可以参考下面的代码:
#include<stdio.h>
intmain(){
intn,temp,i,sum=0,a;
scanf("%d%d",&n,&a);
temp=a;
for(i=0;i<n;i++){
sum+=temp;
temp=temp*10+a;
}
printf("%d ",sum);
}
(4)c语言求sn扩展阅读:
for循环语法
1、for循环是编程语言中一种循环语句,语句最简形式为:
for( ; ; )
2、一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
⑤ C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值
这个计算是错的吧,是a+aa+aaa+...+aaaaaa
所以可以做如下修改:
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a,sn,sa;
doublem;
printf("输入a,n ");
scanf("%d,%d",&a,&n);
for(m=0,sn=0,sa=a;m<=(n-1);)
{
sn=sn+sa;
sa=sa*10+a;//第m+1个式子
m++;
}
printf("sn=%d",sn);
return0;
}