這是c語言的語法啊 sum += double(b) / a 等同于 sum = sum + double(b) / a
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)康樂,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
右邊的sum表示變量sum的地址 因?yàn)樵诘忍柕淖筮吽砸卜Q作左值
所以是把 sum的值加上 轉(zhuǎn)換成double類型的b和a的商 儲存于 sum變量的地址中
明白了嗎?
1.C語言:
#include stdio.h
void main()
{
int a=2;
int b=1;
int N=0;
float Y=0;
printf("請輸入N:");
scanf("%d",N);
while(a=N)
{
Y=Y+a/b;
b=a;
a=a+b;
}
printf("前 %d 項之和是:%.2f\n",N,Y);
}
2.C++:
#include iostream
using namespace std;
void main()
{
int a=2;
int b=1;
int N=0;
float Y=0;
cout"請輸入N:";
cinN;
while(a=N)
{
Y=Y+a/b;
b=a;
a=a+b;
}
cout"前"N"項之和是:"Yendl;
}
先獲取數(shù)組長度,然后用for循環(huán),從數(shù)組中獲取值進(jìn)行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("請輸入數(shù)組的長度:");
scanf("%d", n);
printf("\n");
a = (int *)malloc(n * sizeof(int));//為數(shù)組a動態(tài)分配內(nèi)存
for(i = 0; i n; i++)
{
printf("請輸入數(shù)組的第%d個元素的值:", i+1);
scanf("%d", val);
printf("\n");
a[i] = val;
}
for (i = 0; i n; i++)
{
sun+=a[i];//sun+=a[i]相當(dāng)于sun=sun+a[i];
}
printf("sun = %d\n",sun);
free(a);//釋放a動態(tài)分配的內(nèi)存
return 0;
}
擴(kuò)展資料:
一個數(shù)組中的所有元素具有相同的數(shù)據(jù)類型(在C、C++、Java、pascal中都這樣。但也并非所有涉及數(shù)組的地方都這樣,比如在Visual Foxpro中的數(shù)組就并沒這樣的要求)。當(dāng)然,當(dāng)數(shù)據(jù)類型為 Variant 時,各個元素能夠包含不同種類的數(shù)據(jù)(對象、字符串、數(shù)值等等)??梢月暶魅魏位緮?shù)據(jù)類型的數(shù)組,包括用戶自定義類型和對象變量。
如果要用戶輸入的是一個數(shù)組,一般是用一個循環(huán),但是在輸入前也需要固定數(shù)組的大小。
compact跟變長數(shù)組沒有太大的關(guān)系,也應(yīng)該用不到變長數(shù)組。因?yàn)橐话愕膫鲾?shù)組到函數(shù)中就是傳數(shù)組的地址和元素的個數(shù)的,那只是一個提示,不是要求。
參考資料來源:百度百科-數(shù)組
講下思路。
scanf獲取n和m。
sqrt(n)開方函數(shù)獲得方根,利用%(1000*方根)/1000獲得一個帶三位小數(shù)的方根。
進(jìn)行m重循環(huán)求和。對和值用%(100*方根)/100獲得2位小數(shù)。
循環(huán)完畢,printf后加%d換行。
#include stdio.h
main()
{
float sum;
int i, j=1, k=2;
for(i = 1; i = 20; i++) {
printf("%d %d\n", j, k);
sum = 1.0 * j / k;
k += j;
j = k - j;
}
printf("前20項數(shù)列和是: %f\n", sum);
}