c++primer学习1.4.1 while语句

1.4.1书上例题
#include <iostream>

int main()
{
	int sum = 0, val = 1;
	while (val <= 10)
	{
		sum += val;
		val++;
	}
	std::cout << "sum of" << sum << std::endl;
    return 0;
}

i++,先运行i,在运行i+1 ;  ++i,直接运行i+1


while语句形式

while(condition)

{

statement

}

练习1.9
编写程序,使用while循环将50到100的整数相加

答:

#include <iostream>

int main()
{
	int sum = 0, val = 50;
	while (val <= 100)
	{
		sum += val;
		val++;
	}
	std::cout << "sum of 50 to 100 inclusive is " << sum << std::endl;
    return 0;
}
练习1.10
使用递减运算符在循环中按递减顺序打印出10到0之间的整数。

答:每次while循环都输出一个数,在循环中打印,先减去1再输出。

#include <iostream>

int main()
{
	int  a= 10;
	std::cout << "0 到10之间的数为  " << std::endl;
	while (a >= 1)
	{
		--a;
		std::cout << a << std::endl;
	}
    return 0;
}
练习1.11
编写程序,提示用户输入两个整数,打印出两个整数所指定的范围内的所有整数。

答:

#include <iostream>

int main()
{
	int  a= 0,b=0;
	std::cin >> a >> b;
	std::cout << "输入两个数字 " <<a<<b<< std::endl;
	while (a>=b)//从大到小输出
	{
		
		std::cout << a << std::endl;
		a--;
	}

	while (a <b)//从小到大输出
	{
		std::cout << a << std::endl;
		a++;
	}
    return 0;
}

输出结果为ab和ab之间的整数 或者a和ab之间的数。

第二个while如果也有等号的话,会出现重复的a

思考改进:题目存在歧义,选择只出现ab之间的整数(掐头去尾)并且两个while输出不重复。

方案:加入if选择语句,根据调试结果增减b值

#include <iostream>
int main()
{
	int  a= 0,b=0;
	std::cin >> a >> b;
	std::cout << "输入两个数字 " <<a<<b<< std::endl;
	if(a>b)
	while (a>b+1)//从大到小输出
	{
		--a;
		std::cout << a << std::endl;
		
	}
	else
	while (a <b-1)//从小到大输出
	{
		a++;
		std::cout << a << std::endl;
		
	}
    return 0;
}

运行结果

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值