搜索
首页 电脑/网络 程序设计 C/C++

用C解决这个问题?

A,B,C,D四个盒子中放着8,5,3,2颗珠子,第一个小朋友过去 从珠子最多的盒子里取出三颗主子,平均分给其他三个盒子,接着第二个小朋友也过去从珠子最多的盒子中取出三颗珠子,平均分给其他三个盒子,以次类推,直到第1999个小朋友取完分完后,问A,B,C,D四个盒子中各有多少颗珠子 注:用原代码哟

全部回答

2007-12-18

0 0
    上面xieyou学弟的基本思路,已经非常正确了,只是程序中稍微有点瑕疵,需要修改一下,修改后的程序如下: int max(int a[],int n) {int i,t; t=0; for(i=1;i<n;i++) if(a[t]<a[i]) t=i; return t; } main() {int a[]={8,5,3,2}; int i,j,m; for(i=1;i<=1999;i++) { m=max(a,4); for(j=0;j<4;j++) { if(j==m) a[j]=a[j]-3; else a[j]=a[j]+1; } } for(i=0;i<4;i++) printf("a[%d]=%d\t",i,a[i]); } 该程序已经在tc下运行通过,运行结果如下: a[0]=3 a[1]=4 a[2]=6 a[3]=5。
    。

2007-12-14

62 0
    #include int max(int a[],int n) { int temp=0; for(int i=1;i<n;i++) { if(a[temp]<a[i]) { temp=i; } } return temp; } void main() { int a[]={8,5,3,2}; int n=1999; int temp=0; for(int i=1;i<=n;i++) { temp=max(a,4); for(int j=0;j<4;j++) { if(j!=temp) { a[j]++; } else { a[j]=a[j]-3; } } } for(i=0;i<4;i++) { printf("%d ",a[i]); } printf("\n"); }。
    。

2007-12-14

56 0
    好久不写C++了…… 不知道写的对不对,结果自己跑吧。
     int a = 8; int b = 5; int c = 3; int d = 2; int *max = &a; for(int i = 0; i <1999; i++){ if(*max < a){max = &a;} if(*max < b){max = &b;} if(*max < c){max = &c;} if(*max < d){max = &d;} a++; b++; c++; d++; (*max) = (*max) - 4; } cout<<"a="<<a<<"\n"; cout<<"b="<<b<<"\n"; cout<<"c="<<c<<"\n"; cout<<"d="<<d<<"\n";。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
C/C++
数据库
VB
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报