多重循环就是在循环结构的循环体中又出现循环结构。
在实际开发中一般最多用到三层多重循环。 循环层数越多, 运行时间越长, 程序越复杂, 所以一般用两到三层多重循环就可以了!
#include <stdio.h>
int main() {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
printf("%d*%d=%d\t",j,i,i*j);
}
printf("\n");
}
return 0;
}
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
#include <stdio.h>
int main() {
int xjNum; //鸡的数量
int rabbitNum; //兔子的数量
for(xjNum=0; xjNum<=35; xjNum++) { //鸡的数量最多35只
for(rabbitNum=0; rabbitNum<=24; rabbitNum++) { //兔子数量最多24只
if(xjNum+rabbitNum==35&&xjNum*2+rabbitNum*4==94) { //满足条件时
printf("鸡的数量是:%d,兔子的数量是:%d",xjNum,rabbitNum);
}
}
}
return 0;
}
运行结果: 鸡的数量是:23,兔子的数量是:12
百钱百鸡问题。用100钱买100只鸡,公鸡一只五元,母鸡一只三元,小鸡三只一元,编程计算共有几种买法。
#include <stdio.h>
int main(void)
{
int gjNum; // 公鸡的数量
int mjNum; // 母鸡的数量
int xjNum; // 小鸡的数量
int iCount = 0;
for (gjNum = 0; gjNum <= 20; gjNum++)
{
for (mjNum = 0; mjNum <= 33; mjNum++)
{
for (xjNum = 0; xjNum <= 100; xjNum++)
{
// 小鸡必须是3的倍数
if (xjNum % 3 == 0)
{
if (gjNum * 5 + mjNum * 3 + xjNum / 3 == 100 && gjNum + mjNum + xjNum == 100)
{
iCount++;
printf("公鸡买%d只,母鸡买%d只,小鸡买%d只。\n",gjNum,mjNum,xjNum);
}
}
}
}
}
}
运行结果:
公鸡买0只,母鸡买25只,小鸡买75只。
公鸡买4只,母鸡买18只,小鸡买78只。
公鸡买8只,母鸡买11只,小鸡买81只。
公鸡买12只,母鸡买4只,小鸡买84只。