C语言数学题

来源:百度知道 编辑:UC知道 时间:2024/05/26 17:38:34
假设有一百中小学生参加义务植树活动 公植一百棵 其中高中生每人三棵 初中生每人两棵 小学生每人一棵 问此问题可能有多少解

main()
{
int a,b,c;//a是高中生,b是初中生,c是小学生
for(a=1;a<=100;a++)
for(b=1;b<=100;b++)
for(c=1;c<=100;c++)
if((3*a+2*b+c)==100)
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
//认为高中,初中,小学都有人,否则就是for(a=0;a<=100;a++)...

这道题就是著名的不定方程题目:“百钱买百鸡” 只是描述变化了一下
方程组为 x+y+z=100 3x+2y+z=100 这两个是你题目描述下的所列方程

但是根据你的题目描述 无论每个学生是高中初中或者小学生 每人至少种一棵
也就是 100个人 每人最少一棵 共种100棵树
显然100人只能都是小学生了。。。
我想你是不是把题目描述错误了呢
比如要是每2个小学生种一棵树 这道题就有多解了

#include"math.h"
main()
{
int i,j,k;/*i为高中生,j为初中生,k为小学生*/
for(i=0;i<101;i++)
for(j=0;j<101;j++)
for(k=0;k<101;k++)
if((3*i+2*j+k==100)&&(i+j+k==100))
printf("i=%d,j=%d,k=%d\n",i,j,k);
}

#include <stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=100;a++)
for(b=1;b<=100;b++)
for(c=1;c<=100;c++)
if((3*a+2*b+c)==100)
printf(