`7-1 求N分之一序列前N項(xiàng)和(15 分)
本題要求編寫(xiě)程序,計(jì)算序列 1 + 1/2 + 1/3 + ... 的前N項(xiàng)之和。
輸入格式:
輸入在一行中給出一個(gè)正整數(shù)N。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數(shù)點(diǎn)后6位。題目保證計(jì)算結(jié)果不超過(guò)雙精度范圍。
輸入樣例:
6
輸出樣例:
sum = 2.450000
程序源碼
#include <stdio.h>
int main(){
int i,n;
double sum;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
7-2 求奇數(shù)分之一序列前N項(xiàng)和(15 分)
本題要求編寫(xiě)程序,計(jì)算序列 1 + 1/3 + 1/5 + ... 的前N項(xiàng)之和。
輸入格式:
輸入在一行中給出一個(gè)正整數(shù)N。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數(shù)點(diǎn)后6位。題目保證計(jì)算結(jié)果不超過(guò)雙精度范圍。
輸入樣例:
23
輸出樣例:
sum = 2.549541
程序源碼
#include <stdio.h>
int main(){
int i,n,num;
double sum;
sum=0;
num=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=1.0/num;
num+=2;
}
printf("sum = %.6f",sum);
return 0;
}
7-3 求簡(jiǎn)單交錯(cuò)序列前N項(xiàng)和(15 分)
本題要求編寫(xiě)程序,計(jì)算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項(xiàng)之和。
輸入格式:
輸入在一行中給出一個(gè)正整數(shù)N。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數(shù)點(diǎn)后三位。題目保證計(jì)算結(jié)果不超過(guò)雙精度范圍。
輸入樣例:
10
輸出樣例:
sum = 0.819
程序源碼
#include <stdio.h>
int main(){
int i,n,num,flag;
double sum;
sum=0;
num=1;
flag=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=flag*1.0/num;
num+=3;
flag=-flag;
}
printf("sum = %.3f",sum);
return 0;
}
7-4 輸出華氏-攝氏溫度轉(zhuǎn)換表(15 分)
輸入2個(gè)正整數(shù)lower和upper(lower≤upper≤100),請(qǐng)輸出一張取值范圍為[lower,upper]、且每次增加2華氏度的華氏-攝氏溫度轉(zhuǎn)換表。
溫度轉(zhuǎn)換的計(jì)算公式:C=5×(F?32)/9,其中:C表示攝氏溫度,F(xiàn)表示華氏溫度。
輸入格式:
在一行中輸入2個(gè)整數(shù),分別表示lower和upper的值,中間用空格分開(kāi)。
輸出格式:
第一行輸出:"fahr celsius"
接著每行輸出一個(gè)華氏溫度f(wàn)ahr(整型)與一個(gè)攝氏溫度celsius(占據(jù)6個(gè)字符寬度,靠右對(duì)齊,保留1位小數(shù))。
若輸入的范圍不合法,則輸出"Invalid."。
輸入樣例1:
32 35
輸出樣例1:
fahr celsius
32 0.0
34 1.1
輸入樣例2:
40 30
輸出樣例2:
Invalid.
程序源碼
#include <stdio.h>
int main(){
int lower,upper;
scanf("%d %d",&lower,&upper);
if(lower>upper){
printf("Invalid.");
}else{
printf("fahr celsius\n");
for(int i=lower;i<=upper;i+=2){
printf("%d%6.1lf\n",i,5.0*(i-32)/9);
}
}
return 0;
}
7-5 求平方與倒數(shù)序列的部分和(15 分)
本題要求對(duì)兩個(gè)正整數(shù)m和n(m≤n)編寫(xiě)程序,計(jì)算序列和m?2??+1/m+(m+1)?2
+1/(m+1)+?+n? +1/n。
輸入格式:
輸入在一行中給出兩個(gè)正整數(shù)m和n(m≤n),其間以空格分開(kāi)。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數(shù)點(diǎn)后六位。題目保證計(jì)算結(jié)果不超過(guò)雙精度范圍。
輸入樣例:
5 10
輸出樣例:
sum = 355.845635
程序源碼
#include <stdio.h>
int main(){
int i,n,m;
double sum;
sum=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++){
sum+=i*i+1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}