【C/C++基础练习题】闰年;最大公因数最小公倍数;三个数比大小

 switch语句中表达式的类型只能是:整形和枚举类型

 switch的每个case之后如果没有加break语句,当前case执行结束后,会继续执行紧跟case中的语句。

case语句后一般放整形结果的常量表达式或者枚举类型,枚举类型也可以看成是一个特殊的常量。

没有规定case必须在default之前,一般case最好放在default之前

if语句是一种分支语句,可以实现单分支,也可以实现多分支 

if之后可以跟多条语句,跟多条语句时需要使用{}括起来

while循环条件将会比循环体多执行一次。

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果:

思路:
1. 从上述表达式可以分析出
a.该表达式主要由100项,基数项为正,偶数项为负
2. 设置一个循环从1~100,给出表达式中的每一项:1.0 / i, 注意此处不能使用1,否则结果全部为0
然后使用flag标记控制奇偶项,奇数项为正,偶数项为负
然后将所有的项相加即可

void tm2()
{
	for (int year = 1000; year < 2000; year++)
	{
		if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
			cout << year<<"  ";
	}
}

 下面的代码输出一个5,但如果==变成=,那么会一直死循环输出5

void tm1()
{
	for (int i = 0; i < 10; i++)
		if (i == 5)//这里如果是=,那么会一直死循环5
			cout << i;
}

打印1000-2000年里的闰年

void tm2()
{
	for (int year = 1000; year < 2000; year++)
	{
		if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
			cout << year<<"  ";
	}
}

求两个数的最大公因数和最小公倍数

int gongyueshu()
{
	int a=0, int b = 0;
	cin >> a, b;
	int n;
	int big = 0, small = 0;
	big = (a > b) ? a : b;
	small = a + b - big;
	n = small;
	while (n)
	{
		if (a % n == 0 && b % n == 0)
		{
			break;
		}
		n--;
	}
	int gongbeishu = a * b / n;
	cout << "最大公因数是" << n << endl;
	cout << "最小公倍数是" << gongbeishu << endl;
	return 0;
}

三个数比大小:

还有一个思路:用更新前的max和min给mid赋值,但是这种写法,最大值和最小值不能连续出现在前两个位置 否则更新还是有问题 

void tm3()
{
	int arr[3] = { 0 }; int max = 0; int min = 100; int mid = 0;
	for (int i = 0; i < 3; i++)
	{
		cin >> arr[i];
		if (max < arr[i])
		{
			max = arr[i];
		}
		if (min > arr[i])
		{
			min = arr[i];
		}
	}
	for (int i = 0; i < 3; i++)
	{
		if ((arr[i] != max) && (arr[i] != min))
		{
			mid = arr[i];
		} 
	}
	//mid = (arr[0] + arr[1] + arr[2] - max - min);
	cout << max << " " << mid << " " << min;
}

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值