解题思路:见注释
注意事项:
参考代码:
#include<stdio.h>
int judge(int a[],int n)//用于判断小朋友手里的糖是否相同
{
int flog=a[0],k=0;
for(int i=1;i<n;i++)
{
if(a[i]!=flog)
{
k=1;
break;
}
}
if(k==1) return 0;
else return 1;
}
int main()
{
int N,a[101],i,index=0;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
while(judge(a,N)!=1)
{
a[100]=a[N-1]/2;//额外一个位置存最后一位小孩分给别人的糖
for(i=N-1;i>0;i--)//执行小盆友间的分糖
{
a[i]=a[i]/2;
a[i]+=a[i-1]/2;
}
a[i]/=2;
a[i]+=a[100];
for(i=0;i<N;i++)//执行老师补糖
{
if(a[i]%2!=0)
{
a[i]++;
index++;//计数
}
}
}
printf("%d\n",index);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:998 |
【出圈】 (C语言代码)浏览:796 |
printf基础练习2 (C语言代码)浏览:745 |
A+B for Input-Output Practice (III) (C语言代码)浏览:576 |
简单的a+b (C语言代码)浏览:340 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:476 |
WU-整数平均值 (C++代码)浏览:1245 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:530 |
sizeof的大作用 (C语言代码)浏览:1452 |
剪刀石头布 (C++代码)浏览:1713 |