实验3 循环语句(1)

实验3 循环语句(1)

一,实验目的

1.掌握循环语句for语句,while语句,do-while语句的使用;

2.通过编程,了解结构化的程序设计方法。

二,实验要求

1.通过阅读程序,了解循环语句的结构特点;

2.掌握循环语句的基本语法:枚举法,递归法和迭代法;

3.掌握利用常用算法拆分数字。

三,实验
S3_1.cpp

程序是求解鸡兔同笼问题。鸡兔空有30只,脚共有90只,问鸡兔各有多少只?

#include<iostream>
using namespace std;
int main(void)
{
	int x,y;
	for(x=1;x<30;x++)
	for(y=1;y<30;y++)
	if(2*x+4*y==90&&x+y==30)
	{
		cout<<"the chicken have"<<x<<'\t'<<"rabbit have"<<y<<endl;}return 0}
S3_2.cpp

输出所有的水仙花数。水仙花数是一位三位数,其各位数字的立方等于该数本身。例如,153=13+53+3^3

#include<iostream>
using namespace std;
int main(void)
{
	int a0,a1,a2;
	int b;
	for(a2=1;a2<=9;a2++)
		for(a1=1;a1<=9;a1++)
			for(a0=1;a0<=9;a0++)
				{b=a2*100+a1*10+a0;
				if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2)
				cout<<b<<'\t';
				}
	return 0;
}
S3_3.cpp

题目同上

#include <iostream>
using namespace std;
int main (void)
{
	int x,i,j,k;
	for(x=100;x<=999;x++)
	{
		i=x/100;
		j=(x/10)%10;
		k=x%10;
			if(x==i*i*i+j*j*j+k*k*k)
				cout<<x<<" "<<endl;
	}
return 0;
}

S3_4.cpp

题目要求:写出1-599中能被3整除,且至少有一位数为5的所有整数。如15,51,513均是满足条件的整数

#include<iostream>
using namespace std;
int main()
{
	int n,i,j,k,count=0;
	for(n=1;n<=599;n++)
	{
	i=n/100;
	j=n/10%10;
	k=n%10;
	if(n%3==0&&(i==5||j==5||k==5))
	{
		cout<<n<<'\t';
		count=count++;
		if(count%5==0)
		cout<<endl;		
	}
}
	return 0;
}
S3_5.cpp

题目:编写一个程序,输入一个整数,求出该整数的各位数字之和

#include<iostream>
using namespace std;
int main(void)
{
	int n=0,b,a=0;
	cout<<"请输入数字"<<endl;
	cin>>n;
	while(n)
	{
		b=n%10;
		n=n/10;
		a+=b;
	}
	cout<<a<<endl;

	return 0;
}
将正整数剥分为n个独立的数字

代码实现

while(n)
{
	b=n%10; //b初始值为n的个位数,随着循环迭代,依次为n的十位数,百位数... ...
	n=n/10; //每当n剥完低位数后,将这低位数去掉继续迭代,直到n为0时停止循环
}

枚举法,递归法和迭代法
枚举法:逐个考察了某类事件的所有可能情况
迭代法:迭代法也被称为辗转法,是一种不断用变量的旧值递推新值的过程,在解决问题时总是重复利用一种方法。

2011/11/12
大一下学的C++,课程名称叫VC++刚开始很好奇为什么叫VC++。搜索了一下,“VC++可以简单的视为 C++语言+微软扩展的语法规则+微软扩展的功能特性+微软自己开发的编译环境+windows操作系统 的一个混杂的复合体”。总之用处很大。不过到后面逐渐发现对其不感什么兴趣了。可能是没用经常用到。现在在学python。这个较好学。只需要良好的思维逻辑。不必太纠结语法细节。也打算写博客,记录一下学习python的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值