函数包括四个要素,返回值类型,函数名,参数列表
如void greet(const char* name) 函数定义,函数名为 greet,参数列表为 (const char*),返回类型为 void
#include<stdio.h>
int main()
{
int children, women, men, n, z;
printf("Enter n:");
scanf("%d", &n);
z = 0;
for (women = 0; women <= n; women++)
{ for (men = 0; men <= n; men++)
{ for (children = 0; children <= n; children++)
{ if (men + women + children == n && men * 3 + women * 2 + children == n)
{ printf("men=%d,women=%d,children=%d", men, women, children); z++; } } } }
if (z == 0)
{ printf("NONE\n"); }
return 0;}
}//改进:多重循环运算量较大, 可改进删除第三个循环,改为children=n-men-women
三个for循环不能分开写是因为它们是嵌套在一起的,也就是说,每个循环都在上一个循环的循环体内部。这种嵌套结构能够实现特定的循环逻辑,即对于每个成人数量组合(由第一个和第二个for循环控制),检查儿童数量是否满足给定条件(由第三个for循环控制)。
如果将三个for循环分开写,那么每个循环将独立运行,并且无法保证在循环运行过程中满足所有条件。分开写也无法实现嵌套循环所具有的逻辑优势,即对于每个成人数量组合,可以快速检查儿童数量是否满足条件,而不是对所有可能的儿童数量进行逐个检查。
因此,三个for循环需要保持嵌套结构,以确保程序能够正确地执行循环逻辑并得到正确的结果。