【ZZULIOJ】1053: 正弦函式

江海寄餘生吖發表於2020-11-06

ZZULIOJ題解

1053: 正弦函式

題目描述
在這裡插入圖片描述

輸入x,計算上面公式的前10項和。

輸入
輸入一個實數x。

輸出
輸出一個實數,即數列的前10項和,結果保留3位小數。

樣例輸入

1

樣例輸出

0.841

本題是對迴圈語句的考察,某種程度上這一題和前幾題沒有太大差別,核心程式碼不過是累加以及分子分母變化和符號的改變,熟能生巧,注意對於迴圈時各項資料處理得當即可。

程式碼

#include<stdio.h>
int main()
{
	int i;//定義迴圈次數i
	double x,z,m,sum,f;//定義未知數x以及分子z和分母m以及和sum,還有符號f
	scanf("%lf",&x);//鍵盤輸入未知數字x的值
	sum=0,m=1,z=x,f=1;//給分子分母和賦初值,這個操作也可以在定義時實現
	for(i=1;i<=10;i++)//迴圈10次
	{	
		sum=sum+f*z/m;//sum每次進行累加計算
		m=m*(2*i)*(2*i+1);//分母每次變成下一個奇數的階乘
		z=z*x*x ;//分子增加2次冪
		f=-f;//符號每次改變一次
	}
	printf("%.3lf",sum);//輸出結果h的值,保留三位小數
	return 0;//程式正常退出
}

相關文章