C++基础知识

这段代码展示了C++中处理输入输出流的技巧,包括数值格式控制、一元二次方程求解、判断闰年、计算三角形面积(海伦公式)、Fibonacci数列生成及素数检测。同时,还涉及到了圆柱体的周长、面积和体积计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章课本以及章节习题

输入输出流的控制符,

#include < iomanip >
输出数据右对齐,且小数位个数相同

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
	double a = 123.456, b = 3.14159, c = -3214.67;
	cout << setiosflags(ios::fixed) << setiosflags(ios::right) << setprecision(2);
	//固定小数位是2个,且输出数据右对齐
	cout << setw(15) << a << endl;
	cout << setw(15) << b << endl;
	cout << setw(15) << c << endl;
	//保证数字右对齐,小数点的位置对应
	return 0;
}

getchar()

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
	cout << "enter a char:" << endl;
	char a,b;
	cout << getchar() << endl;//输出数字
	cout << (b = getchar() )<< endl;//输出字符
	//表达式要加括号
	cout << ( getchar() + 32) << endl;//输出数字
	return 0;

}

3.5 求解一元二次方程的根

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	float a, b, c, x1, x2;
	cout << "enter a b c:" << endl;
	cin >> a >> b >> c;
	x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);//不要忘记括号!!!
	x2=  (-b - sqrt(b * b - 4 * a * c)) /( 2 * a);//不要忘记括号!!!
	cout << x1 << endl;
	cout << x2 << endl;
	return 0;

}

判断闰年

#include <iostream>
using namespace std;
int main() {
	int year;
	cin >> year;
	//闰年:能被4整除但不能被100整除 或 被400整除
	bool f = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
	if (f)
		cout << "is 闰年";
	else cout << "is not 闰年";
	return 0;
}

海伦公式计算三角形面积

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	float a, b, c;
	cout << "enetr a b c" << endl;
	cin >> a >> b >> c;

	if (a + b > c && a + c > b && c + b > a) {
		double s, area;
		//s和area定义在复合语句里,使用范围仅仅在复合语句内

		//海伦公式计算三角形面积
		s = (a + b + c) / 2;
		area = sqrt(s * (s - a) * (s - b) * (s - c));
		cout << "area is " << area;
	}


	return 0;
}

Fibonacc数列,12 两个数为1,后面为前两个数和

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
	int f1, f2, i;
	f1 = 1;
	f2 = 1;
	for (i = 1;i <= 20;i++) {
		cout << setw(10) << f1 << setw(10) << f2;
		//输出数据对齐,好看;setw()只能对就近一个起作用
		if (i % 2 == 0) cout << endl;
		f1 = f1 + f2;
		f2 = f2 + f1;

	}
	return 0;
}

素数:

素数的定义:也即是质数,指大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
m不能被2-根号m之间的数字整除,则是素数
bool型

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
//素数的定义:也即是质数,指大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
//m不能被2-根号m之间的数字整除,则是素数
int main() {
	int m, k, i,n=0;
	bool prime;
	for (m = 101;m <= 200;m = m + 2) {//偶数肯定就不是
		prime = true;
		k = (int)sqrt(m);//表示根号m的整数部分
		for (i = 2;i <= k;i++) {
			if (m % i == 0)
			{
				prime = false;
				break;
			}//跳出这个for循环,到后继语句
		}
		if (prime) {
			cout << setw(5)<<m;
			n++;
		}
		if (n % 10 == 0)
			cout << endl;
	}

	return 0;
}


3.2

#include <cmath>
#include <iomanip>
using namespace std;
int main() {
	const float pi = 3.1415926;
	float r, h;
	cin >> r >> h;
	double l, area, s, v1, v2;
	l = 2 * pi * r;
	area = pi * r * r;
	s = 4 * pi * r * r;
	v1 = 4 / 3.0 * pi * r * r * r;
	v2 = pi * r * r*h;
	cout <<setw(10)<< setiosflags(ios::fixed) << setprecision(2);
	cout << setw(10) << l << endl;
	cout << setw(10) << area << endl;
	cout << setw(10) << s<< endl;
	cout << setw(10) << v1 << endl;
	cout << setw(10) << v2 << endl;

		return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值