C语言语句——判断(2)

C语言判断之if

1、一般形式

  • (1)

if(真条件){

语句

}

  • (2)

if(条件)

{语句1 }

else

{语句2 }

2、原理探究

第一种:当条件为真时,执行语句。

第二种:如果 if 的条件为真,执行语句1,否则执行 else 的语句2。

3、示例+复习

  • 三色球问题:一个口袋中放有12个球,已知其中3个是红的,3个是黄的,
  • 6个是绿的,现从中任取8个,问共有多少种可能的颜色搭配?
  • 绿球不能取0/1;红球和黄球总共才6个。不能满足8个
  • 绿球个数取8-red-green,且小于7个
//C语言
void main()
{
int red = 0;
int yellow = 0;
int number = 1;
printf("\t红球\t黄球\t绿球\n");
printf("\n");
for (red= 0; red <= 3; red++)
{
	for (yellow= 0; yellow<= 3; yellow++)
	{
		if (8 - red- yellow <= 6)
		{
			printf("%2d:\t%d\t%d\t%d\n", number, red, yellow, 8 - red - yellow);
			number++;
		}
	}
}
system("pause");

}
  •   百钱百鸡问题
  •  小鸡的数量一定是3的倍数。
//C语言
#include<stdio.h>
#include<stdlib.h>
void main() {
	printf("您的买鸡计划如下:\n");
	int i=0;
	int j=0;
	int k=0;
	int num = 1;
	for (i=0; i<=100;i++) {
		for (j=0; j<=100;j++) {
			for (k=0; k<=100;k++) {
				if (5*i+3*j+k/3==100&&k%3==0&&i+j+k==100) {
					printf("%d·  公鸡%d只   母鸡%d只   小鸡%d只\n",num,i,j,k);
					num++;
				}
			}
		}
	}
	system("pause");
}
  • 1000~2000的闰年
//C语言
#include<stdio.h>
#include<stdlib.h>
void main() {
    int year = 1000;
    for (year = 1000; year <= 2000; year ++) {
        if (((year % 4)==0 && (year % 100)!=0) || (year % 400) == 0)
            printf("%d\t", year);
    }
    system("pause");
}
  • 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
//C语言
//求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,
//其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。 
#include<stdio.h>
#include<stdlib.h>
void main(){
	
	for (int num = 0; num < 1000; num++) {
	int a = num / 100;
	int b = num /10 % 10;
	int c = num % 10;
	if (num == a * a*a + b * b*b + c * c*c) {
		printf("%d  ",num);
	}
	}
	system("pause");
}
  • 求两个数的最大公约数。 
//C语言

#include<stdio.h>
#include<stdlib.h>
void main() {
	printf("请输入2个数:\n");
	int a, b;
	scanf_s("%d %d",&a,&b);
	if (a <= b) {
		int i;
		for (i = a; i > 0; i--) {
		if(	(a%i) == 0&&(b%i) == 0)
			break;
		}
		printf("最大的公约数:%d\n",i);
	}
	else
	{
		int i;
        for ( i=b; i > 0; i--) {
			if ((a%i) ==0&&(b%i) == 0)
				break;
		}
		printf("最大的公约数:%d\n",i);
	}
	
	system("pause");
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值