C语言求助:十个小孩围成一圈分糖果问题
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/17 00:26:16
C语言求助:十个小孩围成一圈分糖果问题
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块.然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块.问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖?
#include
int fx(int a[10])
{
int b[10];
int i,j,count=0;
do
{
count++;
for(i=0;i
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块.然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块.问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖?
#include
int fx(int a[10])
{
int b[10];
int i,j,count=0;
do
{
count++;
for(i=0;i
![C语言求助:十个小孩围成一圈分糖果问题](/uploads/image/z/5506467-51-7.jpg?t=C%E8%AF%AD%E8%A8%80%E6%B1%82%E5%8A%A9%EF%BC%9A%E5%8D%81%E4%B8%AA%E5%B0%8F%E5%AD%A9%E5%9B%B4%E6%88%90%E4%B8%80%E5%9C%88%E5%88%86%E7%B3%96%E6%9E%9C%E9%97%AE%E9%A2%98)
#include<stdio.h>
int fx(int a[10])
{
\x09int b[10];
\x09int i,j,count=0;
\x09do
\x09{
\x09\x09count++;
\x09\x09for(i=0;i<10;i++) //奇数补充动作应该在分糖之前
\x09\x09 if(a[i]%2) a[i]+=1;
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09b[i]=a[i]/2;
\x09\x09\x09a[i]=b[i];
\x09\x09}
\x09\x09a[0]=b[9]+a[0];
\x09\x09for(i=1;i<10;i++) //a[1]~a[9]的合并动作要补上
\x09\x09 a[i]+= b[i-1];
\x09\x09for(i=0;i<9;i++)
\x09\x09 if(a[i]!=a[i+1]) break;
\x09\x09j=i;
\x09}while(j!=9);
\x09return(count);
}
void main()
{
\x09int a[10]={10,2,8,22,16,4,10,6,14,20};
\x09int cnt = fx(a); //用一个局部变量保存fx的返回结果
\x09printf("需要这样做%d次,每个人手中的糖块数量才相等,数量为%d块.",cnt,a[0]); //因为参数处理是从右往左,所以原来的代码在引用a[0]的值时,fx函数还未被调用,所以要在printf之前先调用fx
}
int fx(int a[10])
{
\x09int b[10];
\x09int i,j,count=0;
\x09do
\x09{
\x09\x09count++;
\x09\x09for(i=0;i<10;i++) //奇数补充动作应该在分糖之前
\x09\x09 if(a[i]%2) a[i]+=1;
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09b[i]=a[i]/2;
\x09\x09\x09a[i]=b[i];
\x09\x09}
\x09\x09a[0]=b[9]+a[0];
\x09\x09for(i=1;i<10;i++) //a[1]~a[9]的合并动作要补上
\x09\x09 a[i]+= b[i-1];
\x09\x09for(i=0;i<9;i++)
\x09\x09 if(a[i]!=a[i+1]) break;
\x09\x09j=i;
\x09}while(j!=9);
\x09return(count);
}
void main()
{
\x09int a[10]={10,2,8,22,16,4,10,6,14,20};
\x09int cnt = fx(a); //用一个局部变量保存fx的返回结果
\x09printf("需要这样做%d次,每个人手中的糖块数量才相等,数量为%d块.",cnt,a[0]); //因为参数处理是从右往左,所以原来的代码在引用a[0]的值时,fx函数还未被调用,所以要在printf之前先调用fx
}
C语言求助:十个小孩围成一圈分糖果问题
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,
体目:十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8
/*本题每空5分,共15分. 程序填空题目要求: 十个小孩围成一圈分糖果,老师分给第一个小孩10块
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第
求助c语言打印三角形问题
求助c语言的a+b问题
求助一个关于C语言指针的问题
C语言问题,解析绝对给分
C语言枚举问题 猴子分桃
c语言 输入十个分数 去掉一个最高分最低分 求平均分
一道有关C语言的问题题目:1. m个人围成一圈,1,2,3循环报数,报到3的人退出,并将退出的序号依次 存到数组p中,包