本关任务:编写一个程序,学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元。现输入学生总人数30,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
######注意:逗号为英文标点。用双重循环做
#include<stdio.h>
int main(){
int x,y,z,sum;
scanf("%d",&sum);
sum=0;
for(x=1;x<30;x++)
{
for(y=1;y<30;y++)
{
z=30-x-y;
if ((z!=0)&&(3x+2y+z==50))
{
printf("大学生%d,中学生%d,小学生%d\n",x,y,z);
sum=sum+1;
}
else
continue;
}
}
printf("sum=%d\n",sum);
return 0;
}
你题目的解答代码如下:
#include <stdio.h>
int main()
{
int x, y, z, sum;
//scanf("%d", &sum); 不需要输入sum
sum = 0;
for (x = 1; x < 30; x++)
{
for (y = 1; y < 30; y++)
{
z = 30 - x - y;
if ((z >= 1) && (3*x + 2*y + z == 50)) //要判断z >= 1 3*x + 2*y 乘法要加*
{
printf("大学生%d,中学生%d,小学生%d\n", x, y, z);
sum = sum + 1;
}
else
continue;
}
}
printf("sum=%d\n", sum);
return 0;
}
如有帮助,望采纳!谢谢!