C/C++编程练习题 (11-20)
- 11. 求 e=1 + 1/1! + 1/2! + 1/3! + ...
- 12. 求PI值,PI/4 = 1 - 1/3 + 1/5 - 1/7 + ...
- 13. 求PI值,PI/2 = 1 + 1/3 + 1/3*2/5 + 1/3*2/5*3/7 + ...
- 14. 输入20个数,统计其中正数、负数和零的个数。
- 15. 输入若干个整数,计算其中的奇数之和与偶数之和,假设输入0表示结束
- 16. 写一函数,计算x的y次方(假设x、y都为正整数)
- 17. 求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
- 18. 编写一个函数,确定一个整数是否为完全数(一个数,等于他的因子之和)。用这个函数确定和打印1到1000之间的所有完全数
- 19. 写一函数,求斐波那契数列的第n项
- 20. 写一个函数,取一个整数值并返回将此整数的各数字反序的数值
使用C/C++两种语言完成50道题目,体会两种语言之间的不同。编译环境都是在VS2019,完成时间2020.06.21-2020.06.22 。由于C++ 对C的兼容性,部分main()函数没有写return 0 也可以执行成功,但是不提倡,最好加上,否则其他编译器可能报错。C语言不需要严格对齐,因此不对CSDN 的格式做过多的纠正。
11. 求 e=1 + 1/1! + 1/2! + 1/3! + …
C
#include<stdio.h>
int main()
{
int i;
double e, t;
i = 1, e = 1, t = 1;
while (t >= 1e-7)
{
t = t / i;
i += 1;
e += t;
}
printf("%5lf",e);
}
C++
#include<iostream>
using namespace std;
int main()
{
int i;
double e,t;
i = 1, e = 1, t = 1;
while (t>=1e-7)
{
t = t / i;
i += 1;
e += t;
}
cout << e;
}
12. 求PI值,PI/4 = 1 - 1/3 + 1/5 - 1/7 + …
C
#include<stdio.h>
int main()
{
double i=1;
int j = 1;
double PI, t;
PI = 1.00;
t = 1.00;
while (t>1e-7)
{
i += 2;
t = 1 / i;
if (j%2==1)
PI -= t;
else
PI += t;
j += 1;
}
printf("PI的值为%5lf", 4*PI);
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
double i=1;
int j = 1;
double PI, t;
PI = 1.00;
t = 1.00;
while (t>1e-7)
{
i += 2;
t = 1 / i;
if (j%2==1)
PI -= t;
else
PI += t;
j += 1;
}
cout << "PI的值为" << 4 * PI;
return 0;
}
13. 求PI值,PI/2 = 1 + 1/3 + 1/32/5 + 1/32/5*3/7 + …
C
#include<stdio.h>
int main()
{
double PI = 1.0;
double i = 1.0, j = 1.0;
double t = 1.0;
while (t > 1e-17)
{
i += 2;
t = t * j / i;
PI += t;
j = j + 1