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;
}