栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言初级(2022/8/7)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言初级(2022/8/7)

练习
//1.输入2.3.1,从大到小输出3.2.1
int main()
{    
    int a = 0;
    int b = 0;
    int c = 0;
    //输入
    scanf("%d%d%d", &a,&b,&c);
    //调整顺序
    if (a < b)
    {
        int tmp = a;
        a = b;
        b = tmp;       //交换两个变量的方法
    }
    if (a < c)
    {
        int tmp = a;
        a = c;
        c = tmp;
    }
    if (b < c)
    {
        int tmp = b;
        b = c;
        c = tmp;
    }
    //输出——从大到小
    printf("%d %d %dn", a, b, c);
    return 0;
}

2.打印1-100之间所有3的倍数的数字
//int main()
//{
//    int i = 0;
    

    
}

3.给定两个数,求这两个数的最大公约数

//法一
//int main()
//{
//    int a = 0;
//    int b = 0;
//    int MIN = 0;
//    int i = 0;
//    scanf("%d%d", &a, &b);
//    if (a >= b)
//    {
//        MIN = b;
//    }
//    else if (a < b)
//    {
//        MIN = a;
//    }
//    for (i = MIN; i >= 1; i--)
//    {
//        if ((a % i == 0) & (b % i == 0))
//        {
//            printf("最大公约数=%dn", i);
//            break;
//        }
//    }
//    return 0;
//}

//法二 辗转相除法
//int main()
//{
//    int m = 0;
//    int n = 0;
//    scanf("%d%d", &m, &n);
//    int t = 0;
//    while (m % n)
//    {
//        t = m % n;
//        m = n;
//        n = t;
//    }
//    printf("最大公约数=%dn", n);
//    return 0;
//}

//求最小公倍数
int main()
{
    int a = 0;
    int b = 0;
    int MAX = 0;
    int i = 0;
    scanf("%d%d", &a, &b);
    if (a >= b)
    {
        MAX = a;
    }
    else if (a < b)
    {
        MAX = b;
    }
    for (i = MAX; i >= 0; i++)
    {
        if ((i % a == 0) & (i % b == 0))
        {
            printf("最小公倍数=%dn", i);
            break;
        }
    }
    return 0;
}

4.打印1000年到2000年之间的闰年
//int main()
//{
//    int i = 0;
//    for (i = 1000; i <= 2000; i++)
//    {
//        if ((i % 4 == 0 && i % 100 != 0)  ||  i % 400 == 0)
//        {
//            printf("%d ", i);
//        }
//    }
//    return 0;
//}


int main()
{
    int i = 0;
    for (i = 1000; i <= 2000; i++)
    {
        if (i % 4 == 0)
        {
            if(i % 100 != 0)
            {
                printf("%d ", i);
            }

            if (i % 400 == 0)
            {
                printf("%d ", i);
            }
        }
    }
    return 0;
}

5.打印100-200之间的素数(只能被1和它本身整除)
//int main()
//{
//    int i = 0;
//    int a = 0;
//    for (i = 100; i < 200;i++)         //先产生100到200的数字
//    {
//        for (a = i - 1; a >= 2; a--)
//        {
//            if (i % a == 0)
//            {
//                break;
//            }
//        }
//        //跳出来可能是被整除也可能是素数循环结束
//
//        if (a == 1)     //最后一次循环执行完,2-1=1不再小于等于2
//        {
//            printf("%d ", i);
//        }
//    }
//    return 0;
//}


//int main()
//{
//    int i = 0;
//    int a = 0;
//    int flag = 1;
//    for (i = 100; i < 200; i++) 
//    {
//        for (a = i - 1; a >= 2; a--)
//        {
//            if (i % a == 0)
//            {
//                flag = 0;
//                break;
//            }
//        }
//        if(flag == 1)
//        {
//            printf("%d ", i);
//        }
//    }
//    return 0;
//}

//sqrt——开平方的函数
//判断101是不是素数
//1.2——100之间数字试除
// m = a * b,则a和b中一定有一个<=m
// 因此,
//2.2~sqrt(101)之间的数字试除就行
//改为for(j = 2;j <= sqrt(i);j++)即可,计算机程序速度加快

//int main()
//{
//    int i = 0;
//    int a = 0;
//    int count = 0;
//    for (i = 101; i < 200; i += 2)    //优化为101开始加2,全为奇数(偶数一定不是素数)
//    {
//        for (a = sqrt(i); a >= 2; a--)     //优化为a从根号下i开始减
//        {
//            if (i % a == 0)
//            {
//                break;
//            }
//        }
//        if (a == 1)
//        {
//            printf("%d ", i);
//            count++;
//        }
//    }
//    printf("ncount = %dn", count);
//    return 0;
//}

一.goto语句

//goto语句
//int main()
//{
//flag:
//    printf("hehen");
//    printf("hahan");
//
//    goto flag;    //死循环
//    return 0;
//}

//理论上goto语句是没有必要的


关机程序
只要运行起来,电脑就在1分钟内关机,如果输入:winter,就取消关机
shutdown -s -t 60 命令关机
shutdown -a 取消关机
int main()
{
    //关机
    //C语言提供了一个函数:system()——执行系统命令
    char input[20] = { 0 };    //存放输入的信息
    system("shutdown -s -t 60");
    again:
        printf("请注意,你的电脑在1分钟内关机,如果输入:winter,就取消关机n");
        scanf("%s", input);    //数组不用取地址,变量要取地址
        if (strcmp(input, "winter") == 0)   //两个字符串比较是不能用==的
        {
            system("shutdown -a");
        }
        else
        {
            goto again;
        }
    return 0;
}

//替换goto
int main()
{
    //关机
    //C语言提供了一个函数:system()——执行系统命令
    char input[20] = { 0 };    //存放输入的信息
    system("shutdown -s -t 60");
    while (1)
    {
        printf("请注意,你的电脑在1分钟内关机,如果输入:winter,就取消关机n");
        scanf("%s", input);    //数组不用取地址,变量要取地址
        if (strcmp(input, "winter") == 0)   //两个字符串比较是不能用==的
        {
            system("shutdown -a");
            break;
        }
    }
    
    return 0;
}

//goto语言真正适合的场景如下:
//for(...)
//  for (...)
//  {
//      for(...)
//      {
//          if(disaster)
//              goto error
//      }
//}
//error:
//   if(disaster)
   //处理错误情况


//goto语句只能在一个函数范围内跳转,不能跨函数
void test()
{
flag:
    printf("testn");
}
int main()
{
    goto flag;     //跨函数不可引用
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1038724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号