C语言趣味编程之百钱百鸡
//一只公鸡值5钱,一只母鸡值3钱,三只小鸡值1钱,实现百钱百鸡
// 不等式;cock+hen+chicken=100,5cock+3hen+chicken/3.0=100
//#include <stdio.h>//头文件
//main()//主函数,有且仅有一个
//{/利用三层循环加条件语句实现不等式方程组:cock+hen+chicken=100,5 * cock + 3 * hen + chicken / 3.0 = 100,for循环实现隐含条件:cock、hen、chicken相互约束且cock<=20,hen<=33,chicken<=100/
//int cock, hen, chicken;//定义整形局部变量,变量需要先定义,才可使用
//for (cock = 0; cock <= 20; cock++)//for循环:for(表达式1;表达式2;表达式3){循环体}-先执行表达式1,再判断表达式2真假,【若为真,则执行循环体再进行表达式3,接着判断表达式2……往复;若为假,则跳出循环,执行循环语句下一条语句:12循环3假跳】
// for (hen = 0; hen <= 33; hen++)
// for (chicken = 0; chicken <= 100; chicken++)//循环嵌套:即循环语句(for、while、do……while)的循环体中包含循环语句,可视为内、外循环
// {
//if选择语句;if(条件表达式) printf("……");条件表达是为逻辑判断,为真才执行【printf("……");】,为假则跳出选择语句,执行下一句。(!)=为逻辑等于,是判断;是赋值
// if ((cock + hen + chicken == 100) && (5 * cock + 3 * hen + chicken / 3.0 == 100))//((5 * cock + 3 * hen + chicken / 3.0100) && (cock + hen + chicken ==100))
// printf("cock=%2d,hen=%2d,chicken=%2d\n", cock, hen, chicken);//输出语句一般格式:【printf("……\n",……)】;
// }
//return 0;
//}
//有些符号是成对出现【""、()、{}、<>】(!)
//写代码时,首先搭建大框架,接着开始每部分,写语句也如此,先搭框架,再填充
//#include <stdio.h>
//main()
//{
//
//return 0:
//}
include <stdio.h>
main()
{
int cock, hen, chicken;
for(cock=0;cock<=20;cock++)
for (hen = 0; hen <= 33; hen++)/两层循环约束确定cock和hen的数量,实现一部分隐含条件/
{
chicken = 100 - cock - hen;/知不等式其中两个值可直接逆向思维利用不等式求出另外一个值,同时还实现了不等式/
if (5 * cock + 3 * hen + chicken / 3.0 == 100)/使用if选择语句实现另外一个不等式/
printf("cock=%2d,hen=%2d,chicken=%2d\n", cock, hen, chicken);
}
return 0;
}
include <stdio.h>
main()
{
int cock=0, hen=0, chicken = 0;
while (cock <= 20)
{
while (hen <= 33)
{
chicken = 100 - cock - hen;
if (5 * cock + 3 * hen + chicken / 3.0 == 100)
printf("cock=%2d,hen=%2d,chicken=%2d\n", cock, hen, chicken);
}
hen++;
cock++;
}
return 0;
}
本文来自博客园,作者:参未闻,转载请注明原文链接:https://www.cnblogs.com/chencwj/p/18058990