C++练习四

  1.  输入一个正整数n,求1到n之间所有数的平方和.

【问题描述】

输入一个正整数n,求1到n之间所有数的平方和. 

【输入形式】

一个整数N 

【输出形式】

一行,包含一个整数,表示1+2*2+3*3+…+n*n的和 

【样例输入】

5

【样例输出】

55
#include<iostream>
using namespace std;

int main()
{
	int n;
	cin >> n;
	int sum = 0;
	for (int i = 1; i <= n; i++)
	{
		sum = sum + i * i;
	}
	cout << sum;
	return 0;
}
2. 《级数求和》

【问题描述】

输入一个正整数n,计算下式的和(保留4位小数)。

e=1+1/1!+1/2!+1/3!+......+1/n!

要求:使用一重循环,不使用自定义函数。

【输入形式】

从键盘输入一个正整数n。

【输入输出样例1】(下划线部分表示输入)

Input n: 10

e=2.7183

【输入输出样例2】(下划线部分表示输入)

Input n: 3

e=2.6667

【样例说明】

输入提示符后要加一个空格。其中:后要加一个且只能一个空格。

输出语句的=两边无空格。

英文字母区分大小写。必须严格按样例输入输出。

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
	int n,a=1;
	double e = 1;
	cout << "Input n: ";
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		a = a * i;
		e = e + 1.0 / a;
	}
	cout << "e=" <<fixed<<setprecision(4)<< e;
	return 0;
}
3. 《求余弦函数的近似值》

【问题描述】

输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。

【输入形式】

输入两个浮点数:精度e和实数x

【输入输出样例1】(下划线部分表示输入)

e: 0.001

x: 1

cos(x)=0.540

【样例说明】

输入提示符后要加一个空格。例如e: 0.001,其中:后要加一个且只能一个空格。

输出语句的=两边无空格

计算结果保留3位小数

英文字母区分大小写。必须严格按样例输入输出。

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;

int main()
{
	double e, x, sum=1, a=1;
	cout << "e: ";
	cin >> e;
	cout << "x: ";
	cin >> x;
	int n = 0;
	while (fabs(a) >= e)
	{
		n = n + 2;
		int b = 1;
		for (int i = 1; i <= n; i++)
		{
			b = b * i;
		}
		a = pow(x, n) / b;
		if (n / 2 % 2)
			a = -a;
		sum = sum + a;
	}
	cout << "cos(x)=" <<fixed<<setprecision(3)<< sum;
	return 0;
}
4. 《水仙花数》

【问题描述】

输入两个正整数m和n(m>=1,n<=1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,153的各位数字的立方和是13+53+33 =153。

【输入形式】

从键盘输入两个正整数m和n。

【输入输出样例1】(下划线部分表示输入)

Input m: 100

Input n: 400

153

370

371

【样例说明】

输入提示符后要加一个空格。其中:后要加一个且只能一个空格。

每行输出一个水仙花数。

英文字母区分大小写。必须严格按样例输入输出。

#include <iostream>
using namespace std;

int main()
{
	int m, n;
	cout << "Input m: ";
	cin >> m;
	cout << "Input n: ";
	cin >> n;
	for (m; m <= n; m++)
	{
		int a = m / 100;
		int b = m % 100 / 10;
		int c = m % 10;
		if (a * a * a + b * b * b + c * c * c == m)
		{
			cout << m << endl;
		}
	}
	return 0;
}
5. 求阶乘和

【问题描述】

求:1!+2!+3!+......+n!。设n为正整数,由用户从键盘输入。求n的阶乘用函数实现。

【输入形式】

3            (3为用户输入的正整数)

【输出形式】

9                                           (结果为1!+2!+3!的阶乘值)

【样例输入】

8

【样例输出】

46233

#include<iostream>
using namespace std;

int main()
{
	int n;
	cin >> n;
	int m = 1, sum = 0;
	for (int i = 1; i <= n; i++)
	{
		m = m * i;
		sum = sum + m;

	}
	cout << sum;
	return 0;
}
​​​​​​​6.《求a +aa +aaa +aa…a(n 个a) 之和》

【问题描述】

输入2个正整数a和n,求a+aa+aaa+aaa(n个a)之和。例如,输入2和3,输出246(2+22+222)。

【输入形式】

从键盘输入正整数a和正整数n。

【输入输出样例1】(下划线部分表示输入)

Input a, n: 8 5

s=98760

【样例说明】

输入提示符后要加一个空格。其中,:后要加一个且只能一个空格。

输出语句的s=两边无空格。

英文字母区分大小写。必须严格按样例输入输出。

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int a, n, s = 0, m = 0;
	cout << "Input a, n: ";
	cin >> a >> n;
	for (int i = 0; i < n; i++)
	{
		m = m + a * pow(10, i);
		s = s + m;
	}
	cout << "s=" << s;
	return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值