(矿字号)高级语言程序设计 第三章 程序控制

第三章 程序控制

1.猴子吃桃问题

【问题描述】猴子吃桃问题。猴子第1天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第2天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第n天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?

【输入形式】标准输入,剩下一个桃子的天数n。

【输出形式】标准输出,第一天共摘的桃子个数。

【样例输入】

10

【样例输出】

1534

【样例说明】只需输入和输出数据,不要有多余字符出现,有测试输出时请使用cerr。

#include<iostream>
using namespace std;
int main()
{
	int n,sum=1;
	cin>>n;
	n=n-1;
	while(n>=1)
	{
		sum=(sum+1)*2;
		--n;
	}
	cout<<sum;
	return 0;
 } 

2.百鸡问题

【问题描述】n元买100只鸡,大鸡5元每只,小鸡3元每只,还有1/3元每只的小鸡,分别记为x只,y只,z只,求所有解

【输入形式】标准输入,总钱数n

【输出形式】标准输出,输出x y z 的值,按照x,y,z依次增大顺序输出

【样例输入】

100

【样例输出】

x=0,y=25,z=75
x=4,y=18,z=78
x=8,y=11,z=81
x=12,y=4,z=84

【样例说明】每行一个解,注意逗号为英文字符,每行数据顶格输出。

#include<iostream>
using namespace std;
int main()
{
	int n,x,y,z;
	cin>>n;
	x=0;
	while(x<=n/5)
	{
		y=0;
		while(y<=n/3)
		{
			if((n-5*x-3*y)>=0)
			{
				z=(n-5*x-3*y)*3;
				if(x+y+z==100)
				cout<<"x="<<x<<","<<"y="<<y<<","<<"z="<<z<<endl;
			}
			y++;
		}
		x++;	
	}
	return 0;
}

3.数字逆序

【问题描述】输入一个int型的整数num,逆向输出其各位数字,同时求出其位数以及各位数字之和。

【输入形式】输入流(标准)输入,输入一个整数。

【输出形式】输出流(标准)输出。结果为三行,第一行为逆向数字,第二行为各位数字之和,第三行为数字位数。

【样例输入】

1000

【样例输出】

0001
1
4

【样例说明】注意输出位置在每行开始,不要有其他输出语句,不要有其他多余符号。如有测试必要请使用cerr。

#include<iostream>
using namespace std;
int main()
{
	int num,index,sum=0,count=0;
	cin>>num;
	while(num>0)
	{
		index=num%10;
		cout<<index;
		sum+=index;//计算各位数字之和
		count+=1;//统计数字位数 
		num/=10;//每循环一次数字减少十分之一 
	}
	cout<<endl<<sum<<endl<<count;
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值