if-else练习

时间:2022-12-03 07:27:50

if单分支 

  1. 输入两个数,分别放入x和y中,若两数不相等,则输出其中的大数,若两数相等,则输出字符串“x==y:”并输出其值
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int a = 0;
    	int b = 0;
    	scanf("%d %d", &a, &b);
    	if (a != b)
    		printf("%d", a > b ? a : b);
    	if (a == b)
    		printf("x == y");
    	return 0;
    }

    if-else练习

  2. 从键盘输入两个数a和b,如果a大于b则交换两数,最后输出a,b的值
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int a = 0;
    	int b = 0;
    	scanf("%d %d", &a, &b);
    	if (a > b)
    	{
    		a = a ^ b;
    		b = a ^ b;
    		a = a ^ b;
    	}
    	printf("%d %d", a, b);
    	return 0;
    }

    if-else练习

  3. 从键盘输入一个整数,判断其能否被 3 整除或者被 5 整除。
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int m;
    	scanf("%d", &m);
    	if ((m % 3) == 0 || (m % 5) == 0)
    		printf("Y");
    	if ((m % 3 && m % 5) != 0)
    		printf("N");
    }
    if-else练习
  4. 从键盘上输入学生成绩,成绩等级如下:
    90~100   “优”
    80~90   “良”
    70~80   “中”
    60~70   “合格”
    60以下   “不合格”
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int m;
    	printf("小屁孩,请输入你的成绩\n");
    	scanf("%d", &m);
    	if (m >= 90)
    		printf("我滴宝,优秀啊!!!");
    	if (m >= 80 && m < 90)
    		printf("嗯……良好,加油!!");
    	if (m >= 70 && m < 80)
    		printf("熊孩子,有点一般了!");
    	if (m >= 60 && m < 70)
    		printf("崽子,勉强及格。");
    	if (m <60)
    		printf("嗯……不及格,你过来,保证不打你!");
    	return 0;
    }

    if-else练习


if双分支

  1. 输入两个整数,输出其中较大的数
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int a, b;
    	scanf("%d %d", &a, &b);
    	if (a > b)
    		printf("%d",a);
    	else
    		printf("%d",b);
    	return 0;
    }

    if-else练习

  2. 从键盘输入一个整数,判断它的奇偶性,如果输入的是奇数,输出“ODD”,如果输入的是偶数,输出“EVEN”
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int a;
    	printf("请输入一个数: \n");
    	scanf("%d", &a);
    	if ((a%2) == 0)
    		printf("EVEN\n");
    	else
    		printf("ODD\n");
    	return 0;
    }

    if-else练习

  3. 编写一程序控制电灯开关,从键盘输入1表示开灯,这时显示“the light is on”,输入0或者其他数表示关灯,显示“the light is off”
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	int k;
    	scanf("%d", &k);
    	if (k == 1)
    		printf("the light is on");
    	else
    		printf("the light is off");
    	return 0;
    }
    if-else练习

 用if嵌套写(以下每题用if里面的嵌套和else里面嵌套两种方法写)
1、从键盘上输入学生成绩,成绩等级如下:
90~100   “优”
80~90   “良”
70~80   “中”
60~70   “合格”
60以下   “不合格”

//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	int m;
//	printf("小屁孩,请输入你的成绩(0~100)\n");
//	scanf("%d", &m);
//
//	if (m >= 90)
//		printf("我滴宝,优秀啊!!!");
//	else if (m >= 80)
//		printf("嗯……良好,加油!!");
//	else if (m >= 70)
//		printf("熊孩子,有点一般了!");
//	else if (m >= 60)
//		printf("崽子,勉强及格。");
//	else 
//		printf("嗯……不及格,你过来,保证不打你!");
//	return 0; 
//}

//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	int m;
//	printf("小屁孩,请输入你的成绩(0~100)\n");
//	scanf("%d", &m);
//	if (m>=60) 
//	{
//		if (m >= 90)
//			printf("我滴宝,优秀啊!!!");
//		if (m >= 80 && m < 90)
//			printf("嗯……良好,加油!!");
//		if (m >= 70 && m < 80)
//			printf("熊孩子,有点一般了!");
//		if (m >= 60 && m < 70)
//			printf("崽子,勉强及格。");
//	}
//	else 
//		printf("嗯……不及格,你过来,保证不打你!");
//	return 0; 
//}

2、任意输入三个数,判断能否构成三角形?
若能构成三角形,判断是等边三角形,等腰,其他?如果不能组成三角形,就显示“不能组成三角形”。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <math.h>
int main()
{
    float a, b, c;
    float s, area;
    printf("娃子输三条边:\n");
    scanf("%f,%f,%f", &a, &b, &c);
    if (a + b > c && b + c > a && a + c > b)
    {
        if (a == b && a == c)
            printf("娃,三角形是等边三角形\n");
        else if (a == b || a == c || b == c)
            printf("娃,三角形是等腰三角形\n");
        else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (b * b + c * c == a * a))
            printf("娃,三角形是直角三角形\n");
        else
            printf("娃,三角形是普通三角形\n");
    }
    else
        printf("不能构成三角形啊,孩子\n");
    return 0;

}

 3、给一个不多于4位的正整数,求出它是几位数,逆序打印出这个整数的各位数字。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    unsigned int x;
    int a, b, c, d, t;
    printf("请输入一个正整数x:");
    scanf("%d", &x);
    a = x / 1000;
    b = (x / 100) % 10;
    c = (x % 100) / 10;
    d = x % 10;
    t = a + b * 10 + c * 100 + d * 1000;
    printf("个位数上是d=%d\n", d);
    if (a != 0)
    {
        printf("十位数上是c=%d\n", c);
        printf("百位数上是b=%d\n", b);
        printf("千位数上是a=%d\n", a);
        printf("四位数\n");
        printf("逆序为t=%d\n", t);
    }
    else if (b != 0) {
        printf("十位数上是c=%d\n", c);
        printf("百位数上是b=%d\n", b);
        printf("一个三位数\n");
        printf("逆序为t=%d\n", t / 10);
    }
    else if (c != 0) {
        printf("十位数上是c=%d\n", c);
        printf("十位数\n");
        printf("逆序为t=%d\n", t);
    }
    else {
        printf("一位数\n");
        printf("逆序为t=%d\n", d);
    }
    return 0;
}