【C++】第3章作业

猴子吃桃问题

【问题描述】猴子吃桃问题。猴子第1天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第2天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第n天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?
【输入形式】标准输入,剩下一个桃子的天数n。
【输出形式】标准输出,第一天共摘的桃子个数。
【样例输入】10
【样例输出】1534
【样例说明】只需输入和输出数据,不要有多余字符出现,有测试输出时请使用cerr。
【评分标准】 给出天数,正确输出第一天摘桃子个数

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

百鸡问题

【问题描述】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

【样例说明】每行一个解,注意逗号为英文字符,每行数据顶格输出。
【评分标准】给出n,正确得出所有求解结果

#include<iostream>
using namespace std;
int main(void)
{
	int i,j,k,n;
	cin >> n;
	for(i=0;i<100;i++)
	{
		for(j=0;j<100;j++)
		{
			k = 100-j-i;
			if((15*i+9*j+k)==3*n && i+j+k==100 && k>=0) cout << "x=" << i << ",y=" << j << ",z=" << k << endl;
		}
	}
	return 0;
}


数字逆序

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

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

                0001

                1

                4

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

#include<iostream>
#include<cmath>
using namespace std;
int main(void)
{
	int num,i,temp;
	int num3=0,num2 = 0;
	
	cin >> num;
	temp = num;
	while(temp){
		temp/=10;
		num3++;
	}
	
	for(i=1;i<=num3;i++)
	{
		temp = pow(10,i);
		cout << (num%temp)/(temp/10);
		num2+=(num%temp)/(temp/10);
	}
	cout << endl << num2 << endl << num3 << endl;
	return 0;
}


比赛对阵策略

【问题描述】两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X,Z比,请编程找出三对赛手间的对阵情况。

【输入形式】无
【输出形式】标准输出,三对赛手对阵对阵情况,每对内部用“–”隔开,每对间使用空格隔开。

【样例输入】
【样例输出】A–Z B–X C–Y

【样例说明】注意输出格式,空格和回车不要出现混乱。
【评分标准】正确输出结果。

#include <iostream>
using namespace std;

int main()
{
   char i,j,k;              
   for (i='X';i<='Z';i++)
     for (j='X';j<='Z';j++)
       for (k='X';k<='Z';k++)
       {
           if(i!='X'  &&  k!='X'  &&  k!='Z'  &&  i!=j  &&  j!=k  &&  i!=k)   cout  <<  "A--"  <<  i  <<   "  B--"  <<  j  <<  "  C--"  <<  k;

       }
    return 0;  
}  

发布了38 篇原创文章 · 获赞 4 · 访问量 1658

猜你喜欢

转载自blog.csdn.net/qq_15989473/article/details/103228975