我记得我们老师说过一个题,题是这样的:用一百块钱买一百只鸡,大鸡5块钱一只,子鸡3块钱一只,小鸡1块钱3只.
老师说用C语言只能得出一个结果,而用别的计算机语言可以得出三种结果,请问这是算法的问题,还是语言的问题?
请顺便把这段程序写出来,谢谢!
我是初学者,看了以上的VB我写了下面的C,见笑了:
#include<conio.h> #include<stdio.h> main() { int a,b,c,k=1; clrscr(); for(a=1;a<20;a++) for(b=1;b<33;b++) for(c=1;c<100;c++) { if(5.0*a+3.0*b+c/3==100&&a+b+c==100) printf("The %d: a=%-2d,b=%-2d,c=%-2d\n",k++,a,b,c); } getch(); }
运行结果为:
The 1: a=3 ,b=20,c=77 The 2: a=4 ,b=18,c=78 The 3: a=7 ,b=13,c=80 The 4: a=8 ,b=11,c=81 The 5: a=11,b=6 ,c=83 The 6: a=12,b=4 ,c=84
[此贴子已经被作者于2004-05-16 14:28:12编辑过]
#include<conio.h> #include<stdio.h> void main() { int a,b,c,k=1; clrscr(); for(a=0;a<20;a++) for(b=0;b<33;b++) for(c=0;c<100;c=c+3) { if(5.0*a+3.0*b+c/3==100&&a+b+c==100) printf("The %d: a=%-2d,b=%-2d,c=%-2d\n",k++,a,b,c); } getch(); }
是不是每一种都要有一个,那么把前面的=0,改为=1,是不是就可以了????
直接加三不就少了20*33*(100/3*2)次循环了么??