C++ 做题

x33g5p2x  于2022-03-14 转载在 其他  
字(2.7k)|赞(0)|评价(0)|浏览(1761)
  1. 某幼儿园里,有5个小朋友编号为1、2、3、4、5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏。从1号小朋友开始,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号、3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果?

【分析】 题目中有5位小朋友,他们初始时糖果的数目不确定,用a、b、c、d、e分别存储5个小朋友的糖果数,初始值由键盘输入。

# include<cstdio>
using namespace std;
int main()
{
	int a,b,c,d,e; // 设置孩子的糖果数 
	scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e); // ','隔开输入 糖果数
	a=a/3;b=b+a;e=e+a;	// 1号小朋友分糖 
	b=b/3;c=c+b;a=a+b;	// 2号小朋友分糖 
	c=c/3;d=c+d;b=b+c;	// 3号小朋友分糖 
	d=d/3;e=d+e;c=c+d;	// 4号小朋友分糖 
	e=e/3;a=a+e;d=d+e;	// 5号小朋友分糖 
	printf("%d,%4d,%4d,%4d,%4d\n",a,b,c,d,e); // %4d,按4位宽输出 
	return 0;
}

2、上机练习:

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	int m, n;
	float f,F;
	double d,D;
	char a;
	cin>>f;
	printf("保留3位小数:%.3f\n",f);
	cin>>d;
	printf("保留12位小数:%.12f\n",d);	
	printf("请输入一个字符、整数、单精度浮点数、双精度浮点数、指数输出、%g输出\n");
	cin>>a>>n>>F>>D>>D>>D;
	printf("字符:%c,整数:%d,单精度浮点数:%.6f,双精度浮点数:%.6f\n,%e,%g",a,n,F,D,D,D);
}

3、字符菱形

#include<cstdio>
#include<iostream>
using namespace std;
int main(){
	char a;
	cin>>a;
	printf("%6c\n",a);
	printf("%4c%2c%2c\n",a,a,a);
	printf("%2c%2c%2c%2c%2c\n",a,a,a,a,a);
	printf("%4c%2c%2c\n",a,a,a);
	printf("%6c\n",a);
}

4、输入一个三位数,把百位数与个位数对调,再输出。

# include<cstdio>
# include<iostream>
using namespace std;
int main(){
	int m,a,b,c; 
	cout<<"请输入一个三位数"<<endl;
	cin>>m;
	a = m%100%10; 	// 个位数 
	b = m%100/10;	// 十位数 
	c = m/100;		// 百位数 
	m = a*100+b*10+c;
	printf("输出结果%d\n",m); 
}

4、歌手大奖赛上6名评委给一位参赛者打分,6个人打分的平均分为9.6分;如果去掉一个最高分,这名参赛者的平均分为9.4分;如果去掉一个最低分,这名参赛者的平均分为9.8分;如果去掉一个最高分和一个最低分,这名参赛者的平均是多少?

# include<cstdio>
# include<iostream>
using namespace std;
int main(){
	float total,highest,lowest; 
	total = 9.6*6;
	highest = total-9.4*5;  //求出最高分 
	lowest  = total-9.8*5; //求出最低分 
	total = (total-highest-lowest)/4;
	cout<<"去除一个最高分和最低分的平均分:"<<total<<endl;
}

5、已知三角形的三条边为a,b,c,求三角形的面积。
先求三角形的周长的一半p,再把p代入海伦公式即可求得面积。

# include<cstdio>
# include<iostream>
# include<math.h>
using namespace std;
int main(){
	float a,b,c,p,S; 
	cout<<"请输入边的值:"<<endl; 
	cin>>a>>b>>c; 
	p = (a+b+c)/2;
	S = sqrt(p*(p-c)*(p-b)*(p-a));
	cout<<"三角形的面积是:"<<S<<endl;
}

6、一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数),问大象至少要喝多少桶水才会解渴。
【分析】: 一升水=1立方分米=1000立方厘米,桶水要取整数,向上取整(ceil)。

# include<cstdio>
# include<iostream>
# include<math.h>
using namespace std;
int main(){
	float L,num; //定义升,桶 
	int r,h;	// 半径r,高h 
	cout<<"请输入r,h的值"<<endl;
	cin>>r>>h; 
	L = 20*1000;
	num = L/(3.14*r*r*h);
	cout<<"大象至少要喝多少桶水:"<<ceil(num)<<endl;
}

相关文章