1樓:魔天牙
#include
using namespace std;
// sn = a + aa + aaa + ... + (n個a)
// ua表示a
// un表示n
// 返回值為sn
unsigned int sigman(unsigned int ua, unsigned int un);
// re = n個a
// ua表示a
// un表示n
// uh表示a的位數(十進位制)
// 返回值為re
unsigned int recursive(const unsigned int ua, const unsigned int un, const unsigned int uh);
int main()
else
} while (!bisfinish);
unsigned int uhex = 1; // 存放a值到aa值的進位制(待以下迴圈計算得出)
for (unsigned int u = 0; u < umedian; u++)
// 計算sn
unsigned int usn = 0; // 初始化sn
for (unsigned int u = 0; u < un; u++)
return usn;
}unsigned int recursive(const unsigned int ua, const unsigned int un, const unsigned int uh)
else
return ua*uhex+recursive(ua, un-1, uh);}}
// 我只是考慮了a值可能是十位數、百位數之類的,**邏輯混亂了?
2樓:帥得有點壞
樓上的做的很複雜,而且邏輯較亂。
但是能實現。
樓主看這個。
#include
int main()
printf("sum=%d.\n",sum);
return 0;}
3樓:
#include
void main()
printf("%d",sum);}
求sn=a+aa+aaa+……+aa…a(n個a)之值,其中a是一個數字,n表示a的位數 。用c語言怎樣程式設計
4樓:匿名使用者
#include
int main(int argc, char *argv)else//以後的都滿足關係:這個數
等於前一個數*10+a
}printf("%d",sum);//輸出總和return 0;
5樓:匿名使用者
^首先,an=a*111…1=a/9*999…9=a/9*(10^n-1)。所以,sn=a/9*(10-1+10^2-1+…+10^n-1)=a/9*(1+10+10^2+…+10^n-n-1)=a/9*((10^(n+1)-1)/9-n-1)。
剩下用c程式設計好了。用迴圈是最笨的辦法。
6樓:三石
舉個例子吧,2222就等於(10000-1)/9*2,在用個累加就行了,思路是這樣,
7樓:匿名使用者
#include
void main()
printf("s=%ld\n",s);}
1、編寫程式,求 sn=a+aa+aaa+...+aaaa...aaa(n個a)的值,其中a是一個數字, 例如,a=2, n=5時,sn=2+22
8樓:匿名使用者
#include
main()
printf("sum = %ld\n", sum);}
9樓:匿名使用者
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
long sn=0,si;
int i=0,j,a,n;
printf("qing shu ru a yu n de zhi:\n");
scanf("%ld%d",&a,&n);
if(a<0 || a>9 || n<1)printf("dui bu qi ,ni de shu ru you wu");
printf("sn=");
while(n>i)
si=0;
i++;
n=n-i;
for(j=0;jsi=si+a*pow(10,j);
printf("%ld+",si);
sn=sn+si;
printf("\b=%ld",sn);
getch();
我根據你的例項分析來看絕對適合你的要求
10樓:匿名使用者
#include
int main()
printf("s=%d\n",s*a);//輸出s*a}
11樓:匿名使用者
#include
int main()
printf("s=%d\n",s);//輸出s}
12樓:匿名使用者
long sum(int a, int n)
return s;}
13樓:
#include
void main()}
14樓:匿名使用者
#include
#include
#include
#include
int main()
printf("%d\n",sn);
system("pause");}
c語言編寫:求sn=a+aa+aaa+…+aa…a n個a之值
15樓:匿名使用者
這個計算是錯的吧,是a+aa+aaa+...+aaaaaa所以可以做如下修改:
#include
#include
int main()
printf("sn=%d",sn);
return 0;}
16樓:匿名使用者
for (m = 0, sn = 0; m < n /*更簡便*/; m++)
sn = sn * 10 + a;
c語言編寫:求sn=a+aa+aaa+…+aa…a n個a之值
17樓:匿名使用者
l#include "stdio.h"
int main()
printf(" = %ld",sum);
return 0;
}樓上的解答不對
18樓:樂觀的志
看了一下樓上的**,在樓上的基礎上改進了一下,比樓上的簡便一些。希望可以幫到你們。(int可以改為long)
#include
main()
printf("值的結果是:%d\n",sum);
return 0;}
19樓:匿名使用者
你用的是tc還是vc?我這裡給你個tc環境的,供你參考一下。
#include "stdio.h"
int main()
printf(" = %ld",sum);
return 0;
}這好像有一種演算法,但是我也不知道具體的。我也是菜鳥一個,希望能幫到你。
求sn=a+aa+aaa+….+aaa…a之值,其中a是一個數字,n由鍵盤輸入。 5
20樓:匿名使用者
#include "stdio.h"
void main()
printf("%d",sum);}
21樓:匿名使用者
#include "stdio.h"
int main()
sum=sum+s;
}printf("%d",sum);
return 0;}
(c語言~~~)求s(n)=a+aa+aaa+aaaa....之值,其中a是一個數字,n表示a的位數
22樓:市晶瀅鈕巧
sum+=a;
a=a*10+a;
這兩句有問題
比如a=2
執行一次a=a*10+a;後a=22
但是再執行一次後a=220+22=242!
給你這個程式參考下
main()
printf("a+aa+...=%ld\n",sn);
}不過我相信內
你自己可以想容出辦法解決的!
23樓:匿名使用者
每次計算a的時候,a的值已經改變了,再增加一個變數b就可以了void main()
printf("sum=%d",sum);}
24樓:linux_糯米糰
scanf("%d,%d",&a,&n);這句話分開寫就好了因為你輸入a以後會按下回車,這時這個回車符號就被賦給了內n,所以就會有容問題,你分開寫就不存在這個問題了,你的**沒問題。
25樓:
第二條語句最好改為
int a=0,n=0;
錯誤在迴圈體中,應該將迴圈體中第二條語句
a=a*10+a;改為 a=a*10+1;就可以實現了
26樓:匿名使用者
a=a*10+a;
假設一開始a是1, 然後a是11這還對, 然後a是121 , 然後是1331 .。。
27樓:
#include "stdio.h"
#include "conio.h"
void main()
printf("sum=%d",sum);
getch();}
28樓:嫵媚老漢
#include
int main()
printf("%.0lf",sum);}
編寫程式,求Sn a aa aaaaaaaaaa(n個a)的值,其中a是數字,例如,a 2,n 5時,Sn
include main printf sum ld n sum include stdio.h include conio.h include math.h main long sn 0,si int i 0,j,a,n printf qing shu ru a yu n de zhi n sca...
求大佬幫解答編寫程式該程式支援使用者通過鍵盤輸入兩個整數然後計算這兩個整數之間的所有素數之和並輸出
includeint isprime int number return 0 return 1 int num1,num2 scanf d d num1,num2 int sum 0 for int i num1 1 iif isprime i 1 sum i 分佈規律 以36n n 1 為單位,隨...
用C 編寫程式求10 2019之間所有的迴文數,判斷數是否為迴文數。要用函式fun(int n)來實現
long re int a int nonre lint n 判斷給定的整數是否為迴文數return 0 不是返回0 void main printf here we reached the aim at last.n 輸出最好得到的迴文數 include using namespace std i...