一本通 例2.17 分糖果

一本通 例2.17 分糖果

思路:5个小朋友各自将糖分3整份(多余的吃掉,也就是整除“/”),将1份糖果给自己,剩下2份分给身边的小朋友。

分析:也就是小朋友们围成圈,给自己和自己的左右依次分糖果。可以将小朋友们的排列看做一个一维数组,再将首尾相连,组成一个圈。之后依次计算,按顺序输出结果。

程序如下:

#include<iostream>

#include<iomanip> //setw()函数对应的头文件

#include<cstdio>

using namespace std;

int a[10];//开数组,算糖果

int main()

{

     for(int i=1;i<=5;i++)

      cin>>a[i];//5个小朋友以及他们各自拥有的糖果数

     a[1]/=3;//整分3份,分糖果

     a[2]+=a[1];

     a[5]+=a[1];//将a[1]与a[5]相连

     for(int j=2;j<5;j++)

     {

          a[j]/=3;

          a[j+1]+=a[j];

          a[j-1]+=a[j];

     }

     a[5]/=3;

     a[4]+=a[5];

     a[1]+=a[5];//将a[5]与a[1]相连,围圈圈~

     for(int i=1;i<=5;i++)

      cout<<setw(5)<<a[i];//输出规定宽度的字符

     return 0;

 }

posted @ 2022-08-12 08:02  shanyingrui  阅读(71)  评论(0编辑  收藏  举报