实验二

task1

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

#define N 5

int main() {
    int number;
    int i;

    srand(time(0));     // 以当前系统时间作为随机种子
    for(i = 0; i < N; ++i) {
        number = rand() % 100 + 1;
        printf("20490042%04d\n", number);
    }

    return 0;
}

 

1:得到1~100的随机数

2:取得的随机数为4位数,不够的用0补齐

3:生成204900420001~204900420100之间的随机数

tsak2

 1 #include <stdio.h>
 2 
 3 int main() {
 4     int choice, quantity;
 5     float total_price = 0, amount_paid, change;
 6 
 7     while (1) {
 8         printf("\n自动饮料售卖机菜单:\n");
 9         printf("1. 可乐 - 3 元/瓶\n");
10         printf("2. 雪碧 - 3 元/瓶\n");
11         printf("3. 橙汁 - 5 元/瓶\n");
12         printf("4. 矿泉水 - 2 元/瓶\n");
13         printf("0. 退出购买流程\n");
14         printf("请输入饮料编号: ");
15         scanf("%d", &choice);
16 
17         if (choice == 0)
18             break;
19 
20         if (choice < 1 || choice > 4) {
21             printf("无效的饮料编号,请重新输入。\n");
22             continue;
23         }
24 
25         printf("请输入购买的数量: ");
26         scanf("%d", &quantity);
27 
28         if (quantity < 0) {
29             printf("购买数量不能为负数,请重新输入。\n");
30             continue;
31         }
32 
33         switch (choice) {
34             case 1:
35             case 2:
36                 total_price += 3 * quantity;
37                 break;
38             case 3:
39                 total_price += 5 * quantity;
40                 break;
41             case 4:
42                 total_price += 2 * quantity;
43                 break;
44         }
45 
46         printf("请投入金额: ");
47         scanf("%f", &amount_paid);
48 
49         change = amount_paid - total_price;
50         printf("本次购买总价: %.2f 元\n", total_price);
51         printf("找零: %.2f 元\n", change);
52 
53         total_price = 0;
54     }
55 
56     printf("感谢您的购买,欢迎下次光临!\n");
57     return 0;
58 }

 

1:把0赋值给total-price,若没有会使total-price无初始值

2:break跳出当前循环,continue跳过当前循环的剩余部分,进行下一次循环

3:需要,若未选择1,2,3,4,0则需要提示信息,便于提醒

task3

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>\

int main() {
    char light;
    printf("请输入交通信号灯颜色:");
    scanf("%c", &light);

    switch (light) {
    case'g':
        printf("go go go\n");
        break;
    case'y':
        printf("wait a minute\n");
        break;
    case'r':
        printf("stop\n");
        break;
    default:
        printf("something must be wrong");
        break;

    }
    return 0;
}

 

 

 

 task4

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
int main() {
    double money, max, min, average, count, sum;
    money = 0;
    count = 0;
    sum = 0;
    max = 0;
    min = 20000;
    printf("输入今日开销,直到输入-1终止:\n");
    while (1)
    {
        scanf("%lf", &money);
        if (money == -1) {
            break;
        }
        if (money > max) {
            max = money;
            count++;
        }
        if (money <min) {
            min = money;
            count++;
        }
        
        sum = sum + money;

    }
    average = sum / count;
    printf("今日累计消费总额:%.1lf\n", sum);
    printf("今日最高一笔开销:%.1lf\n", max);
    printf("今日最低一笔开销:%.1lf\n", min);
    system("pause");
    return 0;
}

 task5

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
int main() {
    int a,guess,count;
    srand((unsigned int)time(NULL));
    a = rand()%31;
    printf("猜猜2025年4月哪一天是你的lucky day\n");
    printf("开始喽,你有三次机会,猜吧(1~30):");
    
    for (count = 0; count < 3; ++count)
    {
        scanf("%d", &guess);
        if (a  > guess) {
            printf("你猜的日期早了,你的lucky day还没到呢\n");
        }
        else if (a < guess) {
            printf("你猜的日期晚了,你的lucky day在前面哦\n");
        }
        else if (a == guess) {
            printf("哇,猜中了:-)\n");
            return 0;
        }
        printf(" 再猜(1~30):");
    }
    printf("次数用完啦。偷偷告诉你,4月你的lucky day是%d号\n", a);
    return 0;
}

 task6

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int hang, a, b;
    printf("请输入倒三角的行数: ");
    scanf("%d", &hang);
    for (a = hang;a > 0;--a) {
        for (b = 0;b < hang - a;b++) {
            printf("      ");
        }
        for (b = 0; b < 2 * a - 1; ++b) {
            printf(" 0 ");
            printf("   ");
        }
        printf("\n");
        for (b = 0;b < hang - a;b++) {
            printf("      ");
        }
        for (b = 0; b < 2 * a - 1; ++b) {
            printf("<H>");
            printf("   ");
        }
        printf("\n");
        for (b = 0;b < hang - a;b++) {
            printf("      ");
        }
        for (b = 0; b < 2 * a - 1; ++b) {
            printf("I I");
            printf("   ");
        }
        printf("\n");
        printf("\n");
    }
    return 0;
}

 

 

posted @ 2025-03-20 23:19  会飞的鱼88  阅读(6)  评论(0)    收藏  举报