当前位置: 首页 > article >正文

鹏哥C语言49---第5次作业:选择语句 if 和 switch

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//---------------------------------------------------------------------------------第 5 次作业:选择语句 if 和 switch

//-----------------------------------------------------------------1.输出结果
/*
int main()
{
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        if (i = 5) //这里不是判断,是赋值
            printf("%d", i); // 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 死循环

        //if (i == 5) //这里不是判断,是赋值
        //    printf("%d", i); // 5 
    }

    return 0;
}
*/

//-----------------------------------------------------------------2.单选
/*
关于if语句说法正确是:( C ) √
题目内容:
A.if语句后面只能跟一条语句
B.if语句中0表示假,1表示真 -----------非0表示真,不够准确
C.if语句是一种分支语句,可以实现单分支,也可以实现多分支
D.else语句总是和它的对齐的if语句匹配
*/

//-----------------------------------------------------------------3.单选
/*
题目名称:
关于switch说法不正确的是:(A) × C
题目内容:
A.switct语句中的default子句可以放在任意位置
B.switch语句中case后的表达式只能是整形常量表达式----------char 也属于整型家族,因为字符存储时,存的是ASCLL码值
C switch语句中case子句必须在default子句之前
D.switch语句中case表达式不要求顺序
*/

/*--------------------------------------例如
int main()
{
    int n = 0;
    scanf("%d", &n);
    switch (n)
    {
    case 1:
        {
            printf("1\n");
            break;
        }
   default:
        {
            printf("3\n");
            break;
        }
    case 2:
        {
            printf("2\n");
            break;
        }
    }
    return 0;
}
*/

//-----------------------------------------------------------------4.单选
/*
题目名称:

int func(int a)
{
    int b;
    switch (a)
    {
    case 1: b = 30; -----------只有有 break 才能跳出语句,没有 break,接着往下走
    case 2: b = 20;
    case 3: b = 16;
    default: b = 0;
    }
    return b;
}
题目内容:    返回值为(D)
A.30
B.20
C.16
D.0
*/

//-----------------------------------------------------------------5.单选
/*
题目名称:
switch(c)语句中,c不可以是什么类型 (D)
题目内容:
A.int
B.long
C.char
D.float
*/

//-----------------------------------------------------------------6.输出结果
/*
int main() 
{
    int x = 3;
    int y = 3;
    switch (x % 2)
    {
    case 1:
        switch (y)
        {
        case 0:
            printf("first");
        case 1:
            printf("second");
            break;
        default: printf("helIo");
        }
    case 2:
        printf("third");
    }
        return 0;
}

// 代码执行结果  helIothird
*/

//----------------------------------------------------------------------7. 编程题:从大到小 输出
//输入:2 3 1
//输出:3 2 1

//----------------------------------- 教学版 1
/*
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    //输入
    scanf("%d %d %d", &a,&b,&c);
    //调整顺序
    int tmp = 0;
    if (a < b)
    {
        tmp = a;
        a = b;
        b = tmp;
    }
    if (a < c)
    {
        tmp = a;
        a = c;
        c = tmp;
     }
    if (b < c)
    {
        tmp = b;
        b = c;
        c = tmp;
    }
    //输出
    printf("%d %d %d\n", a,b,c);
    return 0;
}
*/

//----------------------------------- 教学版 优化:写个交换函数
/*
void Swap(int* px, int* py)
{
    int tmp = *px;
    *px = *py;
    *py = tmp;
}

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    //输入
    scanf("%d %d %d", &a, &b, &c);
    //交换数值,调整顺序
    int tmp = 0;
    if (a < b)
        Swap(&a, &b);
    if (a < c)
        Swap(&a, &c);
    if (b < c)
        Swap(&b, &c);
    //输出
    printf("%d %d %d\n", a, b, c);
    return 0;
}
*/

//----------------------------------------------------------------------8. 打印3 的倍数的数
// 写一个代码打印1-100 之间所有3 的倍数的数字

//--------------------------------------------------------- 自写版(正确)
/*
int main()
{
    int i = 0;
    for (i = 1; i <= 100; i++)
    {
        if (i % 3 == 0)
        {
            printf("%d ", i);
        }
    }
    return 0;
}
*/

//-------------------------------------------------------------方法2
/*
int main()
{
    int i = 0;
    for (i = 3; i <= 100; i += 3)
    {
        printf("%d ", i);
    }
    return 0;
 }
 */

 //---------------------------------------------------------------------------9. 最大公约数
//给定两个数,求这两个数的最大公约数
//---------------------------------------------- 自写版:只找出了所有公约数 ×
#include <math.h>
/*
void Swap(int* px, int* py)
{
    int tmp = *px;
    *px = *py;
    *py = tmp;
}

int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    //找较小值
    Swap(&a, &b);
    int min = b;
    int i = 0;
    for (i = 1; i <= min; i++)
    {
        if ((a % i == 0) && (b % i == 0))
        {
            printf("%d ", i);
        }
    }

    return 0;
}
*/
//----------------------------------------------教学版1:暴力求解,不够高效
/*
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    int min = (a < b) ? a : b;  //三目操作符 找最小值
    int m = min;
    while (1)
    {
        if (a % m == 0 && b % m == 0)
        {
            break; // 跳出循环
        }
        m--;
    }
    printf("%d ", m);

    return 0;
}
*/

//----------------------------------------------教学版2:辗转相除法(数学)
/*
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d", &a, &b);
    //求最大公约数
    while (c=a%b)
    {
        a = b;
        b = c;
    }
    printf("%d ", b);

    return 0;
}
*/
//---------------------------------------------------------------------------10. 打印1000-2000年之间的闰年
//------------------------------------之前写过,没问题 √
/*
int main()
{
    int i = 0;
    int count = 0;
    for (i = 1000; i <= 2000; i++)
    {
        if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
        {
            count++;
            printf("%d ", i);
        }
    }
    printf("\ncount=%d ", count);
    return 0;
}
*/

//---------------------------------------------------------------------------11. 打印100-200之间的素数

int main()
{
    int i = 0;
    int count = 0;
    for (i = 101; i <= 200; i += 2) 
    {
        
        int flag = 1;// flag是1 表示他是素数
        int j = 0;
        //for (j = 2; j <= i - 1; j++)
        for (j = 2; j <= sqrt(i); j++)
        {
            if (i % j == 0)
            {
                flag = 0;
                //break;
            }
        }
        if (flag == 1)
        {
            count++;
            printf("%d ", i);
        }

    }
    printf("\ncount=%d\n", count);

    return 0;
}
 


http://www.kler.cn/news/317059.html

相关文章:

  • 脚本注入网页:XSS
  • springboot中的异步任务
  • Matplotlib-数据可视化详解
  • 瑞芯微RK3588开发板Linux系统添加自启动命令的方法,深圳触觉智能Arm嵌入式鸿蒙硬件方案商
  • git show 命令
  • Unity中Rigidbody 刚体组件和Rigidbody类是什么?
  • 【flex-shrink】计算 flex弹性盒子的子元素的宽度大小
  • 【27】C++项目练习
  • 循环中用sleep
  • linux atomic 原子变量操作
  • 【Python报错已解决】AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘
  • 生成式AI:ChatGPT及其在各行业的应用前景
  • git学习报告
  • 深入探索迭代器模式的原理与应用
  • 从零开始写一个建立FAT32文件系统程序
  • MFC - 复杂控件_2
  • 【安装教程】Windows环境下Apache Jena Fuseki的安装与配置
  • qt-C++笔记之作用等同的宏和关键字
  • 模拟电路工程师面试题
  • 如何解决npm下载Puppeteer卡死的问题
  • YOLOv9改进策略【注意力机制篇】| 2024 SCI TOP FCAttention 即插即用注意力模块,增强局部和全局特征信息交互
  • Java面试指南(基础篇)
  • 如何选择适合的编程工具提高工作效率
  • Android Studio 真机USB调试运行频繁掉线问题
  • Linux:进程状态和优先级
  • 如何进行「精准测试」?
  • 【C++指南】C++中nullptr的深入解析
  • SSL 最长签发时间是多久?
  • JUC高并发编程1:JUC概述
  • 基于flask常见trick——unicode进制编码绕过