第四周作业

2. 编程求“百钱百鸡”问题。 鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
/*百钱百鸡*/
#include<iostream>
using namespace std;
int main()
{
int n,qian,weng,mu,chu;
for(weng=0;weng<=20;weng++)
{
 for(mu=0;mu<=33;mu++)
 {
  for(chu=0;chu<=100;chu++)
  {
 n=weng+mu+chu;
qian=5*weng+3*mu+chu/3.0;
if(n==100&&qian==100)
{
cout<<"鸡翁只数为"<<weng<<endl;
cout<<"鸡母只数为"<<mu<<endl;
cout<<"鸡雏只数为"<<chu<<endl;
cout<<" "<<endl;
}
 }
 }
}
return 0;
}


3.编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。

#include<iostream>
using namespace std;
int main()
{
	int a,b,c,n,sum;
	n=0,sum=0;
		cout<<"请输入一个整数:";
	cin>>a;
	cout<<"从个位开始"<<endl;
	do
	{
		b=a/10;
		n++;
		c=a-b*10;
		cout<<"第"<<n<<"个数是:"<<c<<endl;
		sum+=c;
		a=b;
	}
	while(b>0);
	cout<<"这个数是"<<n<<"位数字"<<endl;;
	cout<<"各个数位上数字之和为:"<<sum<<endl;
	return 0;
	}

4.在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度。

/***************************
***根据坐标判断建筑物高度***
***************************/

#include <iostream>
using namespace std;
int main()
{
    double x,y;
    cout<<"请输入平面横坐标:";
		cin>>x;
    cout<<"请输入平面纵坐标:";
		cin>>y;
    if (
		  (x+2)*(x+2)+(y+2)*(y+2)<=1
        ||(x+2)*(x+2)+(y-2)*(y-2)<=1
        ||(x-2)*(x-2)+(y+2)*(y+2)<=1
        ||(x-2)*(x-2)+(y-2)*(y-2)<=1
		)
        cout<<"该点的高度为10米"<<endl;
    else cout<<"该点的高度为0米"<<endl;
    return 0;
}

5.编程计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘),要求使用两种以上的方法。

方法一:

/****************
***计算n的阶乘***
****************/

#include <iostream>
using namespace std;
int main()
{
	int sum=0,i=1,a=1,n;
	cout<<"请输入n:"<<endl;
	cin>>n;
	while(i<=n)
	{
		a*=i;
		sum+=a;
		i++;
	}
	cout<<"s=1!+2!+3!+......n!="<<sum<<endl;
	return 0;
}



方法二:

/****************
***计算n的阶乘***
****************/

#include <iostream>
using namespace std;
int main()
{
	int sum,a=1,n,i;
	sum=0;
	cout<<"请输入n:"<<endl;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		a*=i;
		sum+=a;
	}
	cout<<"s=1!+2!+3!+......n!="<<sum<<endl;
	return 0;
}



6.猴子吃苹果问题:猴子第一天摘了若干个苹果,当时吃了一半,还不过隐,又多吃了一个。第二天,又吃掉余下的一半,又多吃一个。以后每一天,都是吃掉前一天余下的一半零一个。到第10天,只有一个苹果了。问猴子第一天共摘了多少个苹果?

/***************
***猴子吃苹果***
****************/

#include <iostream>
using namespace std;
int main()
{
	int S,a=1,n,i;
	S=1;       //第十天
	for(i=1;i<=9;i++)
	S=(S+1)*2;      //倒推
	cout<<"猴子第一天共摘了"<<S<<"个苹果"<<endl;
	return 0;
}



7.计算s[n]=a+aa+aaa+aa...a(n个)的值。其中a是一个数字,n表示a的位数。例如,当a=1,n=5时,则要计算的表达式为

    s[5]=1+11+111+1111+11111

/***********************************
***计算s[n]=a+aa+aaa+aa...a(n个)***
***********************************/

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int n,i,a,b,s=0;
	cout<<"输入n:";
	cin>>n;
	cout<<"输入a:";
	cin>>a;
	for(i=0;i<n;i++)
	{
		b=(n-i)*a*pow(10, i);     //位数分别相加
	    s+=b;
	}
cout<<"s[n]=a+aa+aaa+aa...a="<<s<<endl;
return 0;
}

8.打印九九乘法表。

/*******************
***打印九九乘法表***
*******************/

#include<iostream>
using namespace std;
int main()
{
	int n,i;
	for(i=1;i<=9;i++)
	{
			for(n=1;n<=i;n++)
				cout<<i<<"x"<<n<<"="<<i*n<<" ";
			cout<<endl;    
	}
return 0;
}


9.两个羽毛队进行单打比赛,各出3个人。甲队为张三、李四、王五3个队员,乙队为陈六、赵七、宋八3个队员。现已经抽签决定比赛名单,有人向队员打听比赛名单,张三说他不和陈六打,王五说他不和陈六和宋八打。请编程找出3对比赛名单。

/***********************
***找出羽毛球比赛名单***
***********************/

#include<iostream>
using namespace std;
int main()
{
	int a,b,c;      //a代表张三,b代表李四,c代表王五
	for(a=6;a<=8;a++)
		for(b=6;b<=8;b++)
			for(c=6;c<=8;c++)
				if(a!=6&&c!=6&&c!=8&&a!=b&&a!=c&&b!=c)
				{
							cout<<"张三:"<<a<<endl;
		                	cout<<"李四:"<<b<<endl;
			            	cout<<"王五:"<<c<<endl;
				}
	cout<<"(6代表陈六,7代表赵七,8代表宋八)"<<endl;
	return 0;
}

10.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

错误:最后一题李四,王五总是算出9,原来if漏了个大括号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值