【信息学奥赛一本通】2069:【例2.12 】糖果游戏

文章目录

【题目描述】

【输入】

【输出】

【输入样例】

【输出样例】

【源代码】

【知识点小结】

【题目描述】

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

【输入】

        五个数分别为5个小朋友的糖果数。

【输出】

        游戏后5个小朋友的糖果数。(按5位宽度输出)

【输入样例】

8 9 10 11 12

【输出样例】

   11    7    9   11    6

【源代码】

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,b,c,d,e;
	cin>>a>>b>>c>>d>>e;
	a /= 3; b += a; e += a;//1号小朋友分糖 
	b /= 3; a += b; c += b;//2号小朋友分糖
	c /= 3; d += c; b += c;//3号小朋友分糖
	d /= 3; c += d; e += d;//4号小朋友分糖
	e /= 3; a += e; d += e;//5号小朋友分糖
	printf("%5d%5d%5d%5d%5d",a,b,c,d,e) ;
    return 0;
}

【知识点小结】

   知识点一:%md:

        功能与c++中的 setw(n)函数一样 ,可以使不足n位的int型变量以m位进行右对齐输出,高位默认用空格补齐,如果本身超过n位则保持原样。

        使用printf()按5位宽度输出

printf("%5d%5d%5d%5d%5d",a,b,c,d,e) ;

         使用cout按5位宽度输出

    cout << setw(5) <<a;
	cout << setw(5) <<b;
	cout << setw(5) <<c;
	cout << setw(5) <<d;
	cout << setw(5) <<e;
   知识点二:c++中的复合算术运算赋值
简写   含义
a+=b   a=a+b 
a-=b   a=a-b
a*=b   a=a*b
a/=b   a=a/b
a%=b   a=a%b

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值