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);}
c語言編寫程式題求大神,C語言編寫程式題,求大神
菊隱逸者也 最簡單明瞭的程式如下 include main double x,y,max,min min max 0 for x 0 x 2 x 0.2 y 2 x x x 3 x x x x 6 x x x x x 4 x 50 printf 當x f時,y f n x,y if y max ma...
編寫程式,求1 6的前n項和,編寫程式,求1 2 1 4 1 6 的前n項和
這道題簡單 因為正常的判題系統1秒可以跑10的7次方 所以,分兩種情況 1 當 n 10 6時,暴力求解,即 double sum 0 for int i 2 i n i 2 2 當n 10 6時,用尤拉公式,即 利用 尤拉公式 可以查閱相關書籍 1 1 2 1 3 1 n ln n c,c為尤拉常...
c語言編寫程式,c語言程式編寫
c語言的教材上好象有這個題,現在沒有時間編寫,著急要嗎?第二個應該越簡單越好。include void main printf 3d,3d,3d max maxi maxj printf 3d,3d,3d min mini minj 進行逐項比較。第一題 include main elsebreak...