实验2

task1

问题1:生成5个1-100的随机数 并带上前缀20490042

问题2:rand()表随机 %CNT表示 将生成的数限制在1-99间 +1则变为1-100间

问题3:输出占4个字符宽度的十进制整数 这样不足4位也会自动补0

问题4:初始化随机数种子

 

 

task2

问题1:下一次运行的时候 总价还未清零

问题2:跳过当前循环 直接进入下一轮循环

 task3

#include <stdio.h>

int main()
{
    char light;
    int i;

    for (i = 1; i <= 4; i++)
    {
        scanf(" %c", &light);

        switch (light)
        {
            case 'r':
                printf("stop!\n");
                break;

            case 'g':
                printf("go go go\n");
                break;

            case 'y':
                printf("wait a minute\n");
                break;

            default:
                printf("something must be wrong...\n");
                break;
        }
    }

    return 0;
}

  task4

#include <stdio.h>

int main()
{
    double money, max, min, sum = 0;
    int count = 0;

    while (1)
    {
        scanf("%lf", &money);

        if (money == -1)
        {
            break;
        }

        if (money <= 0 || money > 20000)
        {
            printf("输入金额无效\n");
            continue;
        }

        if (count == 0)
        {
            max = money;
            min = money;
        }
        else
        {
            if (money > max)
            {
                max = money;
            }

            if (money < min)
            {
                min = money;
            }
        }

        sum = sum + money;
        count++;
    }

    if (count > 0)
    {
        printf("最高开销:%.1f\n", max);
        printf("最低开销:%.1f\n", min);
        printf("总开销:%.1f\n", sum);
    }
    else
    {
        printf("没有开销记录\n");
    }

    return 0;
}

  task5

#include <stdio.h>

int main()
{
    int a, b, c, i;

    for (i = 1; i <= 5; i++)
    {
        scanf("%d%d%d", &a, &b, &c);

        if (a <= 0 || b <= 0 || c <= 0 ||
            a + b <= c ||
            a + c <= b ||
            b + c <= a)
        {
            printf("不能构成三角形\n");
        }
        else if (a == b && 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 if (a == b || a == c || b == c)
        {
            printf("等腰三角形\n");
        }
        else
        {
            printf("普通三角形\n");
        }
    }

    return 0;
}

  task6

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int lucky, guess, i;
    int success = 0;

    srand((unsigned int)time(NULL));

    lucky = rand() % 30 + 1;

    for (i = 1; i <= 3; i++)
    {
        printf("第%d次猜测,请输入日期:", i);
        scanf("%d", &guess);

        if (guess == lucky)
        {
            printf("恭喜你,猜中了!\n");
            success = 1;
            break;
        }
        else if (guess < lucky)
        {
            printf("猜早了!\n");
        }
        else
        {
            printf("猜晚了!\n");
        }
    }

    if (success == 0)
    {
        printf("三次机会已用完!\n");
        printf("11月的lucky day是%d号\n", lucky);
    }

    return 0;
}

  

posted @ 2026-10-28 15:31  耿熹  阅读(7)  评论(1)    收藏  举报