7-26 穷举算阶乘 (100 分)
输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。程序中的整数请定义成long long型。
输入样例:
5
输出样例:
5!=120
输入样例:
6
输出样例:
6!=720
#include <stdio.h>
#include <math.h>
int main(){
int n;
scanf("%d",&n);
long long s = 1;
for(int i=1;i<=n;i++){
s*=i;
}
printf("%d!=%lld",n,s);
}
7-27 穷举算阶乘(穷举法while语句实现) (100 分)
输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。程序中的整数请定义成long long型。
输入样例:
5
输出样例:
120
#include <stdio.h>
#include <math.h>
int main(){
int n;
scanf("%d",&n);
long long s = 1;
int i=1;
while(i<=n){
s*=i;
i++;
}
printf("%d!=%lld",n,s);
}
7-28 Fibonacci数列 (100 分)
Fibonacci数列的通项公式为:
编程读入整数n(40>n>2),输出Fibonacci数列的前n项。
输入样例:
5
输出样例:
1,1,2,3,5
输入样例:
10
输出样例:
1,1,2,3,5,8,13,21,34,55
#include <stdio.h>
#include <math.h>
int main(){
int n;
scanf("%d",&n);
int f[n+1];
f[1]=f[2]=1;
for(int i=3;i<=n;i++) f[i]=f[i-1]+f[i-2];
for(int i=1;i<=n;i++){
printf("%d",f[i]);
if(i!=n) printf(",");
}
}
7-29 计算e的近似值 (100 分)
编写程序,输入一个较小的实数deta,利用e=1+1/1!+1/2!+1/3!+⋯+1/n!计算e的近似值,直到最后一项的绝对值小于deta时为止,输出此时e的近似值。
输入格式:
一个较小的实数。
输出格式:
题目要求的近似值。
输入样例:
0.0001
输出样例:
2.7182787698
#include <stdio.h>
#include <math.h>
int main(){
double deta;
scanf("%lf",&deta);
double e = 1;
double s = 1;
int l = 0;
do{
l++;
s/=l;
e+=s;
}while(s>=deta);
printf("%.10f",e);
}
7-30 输出从1加到N的和(应用break语句) (100 分)
输出从1加到N的和
输入格式:
一个整数N。
输出格式:
和。
输入样例:
10
输出样例:
55
#include <stdio.h>
int main(void)
{
int n;
scanf("%d",&n);
if(n!=1)
printf("%d",n*(n+1)/2);
else
printf("%d",1);
}