解题思路:
注意事项:
参考代码:
#include<stdio.h> int main(){ int n,i,f,b=0;//b为补发糖果个数,f为判断每个人是否相等的标志 int stu[101]; scanf("%d",&n); stu[0]=0;//缓冲区 for(i=1;i<=n;i++){ scanf("%d",&stu[i]); } while(!f){ stu[0]=stu[1]/2;//将第一个人糖果的一半存入缓存区 for(i=1;i<n;i++){ //换糖果,这此循环并不能让最后一个人拿到糖果 stu[i]=stu[i]/2+stu[i+1]/2; } stu[n]=stu[n]/2+stu[0];//需要重新给最后一个人的糖果进行赋值,最后一个人糖果的一半加上第一个人的一半 for(i=1;i<=n;i++){ if(stu[i]%2!=0){//判断糖果奇偶数 stu[i]=stu[i]+1; b++; } } for(i=1;i<=n;i++){ if(stu[i]==stu[1]){ f=1; }else { f=0; break; } } } printf("%d",b); return 0; }
0.0分
0 人评分
C语言训练-排序问题<1> (C++代码)浏览:600 |
哥德巴赫曾猜测 (C语言代码)浏览:1018 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:841 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
【蟠桃记】 (C语言代码)浏览:1034 |
【偶数求和】 (C语言代码)浏览:431 |
罗列完美数 (C语言代码)浏览:491 |
Tom数 (C语言代码)浏览:555 |
简单的a+b (C语言代码)浏览:512 |
杨辉三角 (C语言代码)浏览:679 |