实验二

task1

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 #define N 5
 6 
 7 int main() {
 8     int number;
 9     int i;
10 
11     srand(time(0));
12     for(i = 0; i < N; ++i) {
13         number = rand() % 100 + 1;
14         printf("20490042%04d\n", number);
15     }
16 
17     return 0;
18 }

 

问题1:使随机数在一到一百之间产生

问题2:使生成的随机数始终是四位数

问题3:为学生生成随机且唯一学号

 

task2

 

#include <stdio.h>

int main() {
    int choice, quantity;
    float total_price = 0, amount_paid, change;

    while (1) {
        printf("\n自动饮料售卖机菜单:\n");
        printf("1. 可乐 - 3 元/瓶\n");
        printf("2. 雪碧 - 3 元/瓶\n");
        printf("3. 橙汁 - 5 元/瓶\n");
        printf("4. 矿泉水 - 2 元/瓶\n");
        printf("0. 退出购买流程\n");
        printf("请输入饮料编号: ");
        scanf("%d", &choice);

        if (choice == 0)
            break;

        if (choice < 1 || choice > 4) {
            printf("无效的饮料编号,请重新输入。\n");
            continue;
        }

        printf("请输入购买的数量: ");
        scanf("%d", &quantity);

        if (quantity < 0) {
            printf("购买数量不能为负数,请重新输入。\n");
            continue;
        }

        switch (choice) {
            case 1:
            case 2:
                total_price += 3 * quantity;
                break;
            case 3:
                total_price += 5 * quantity;
                break;
            case 4:
                total_price += 2 * quantity;
                break;
        }

        printf("请投入金额: ");
        scanf("%f", &amount_paid);

        change = amount_paid - total_price;
        printf("本次购买总价: %.2f 元\n", total_price);
        printf("找零: %.2f 元\n", change);

        total_price = 0;
    }//对价格进行一个初始化,下一个人来买的时候计价从零开始,如果去掉,下一个人买的时候会从上一个人的总价开始计价,会一直累加

    printf("感谢您的购买,欢迎下次光临!\n");
    return 0;
}

 

问题1:对价格进行一个初始化,下一个人来买的时候计价从零开始,如果去掉,下一个人买的时候会从上一个人的总价开始计价,会一直累加
问题2:break是结束当前正在运行的这个循环,即跳出循环,continue是这一次循环剩下的部分,开始下一次循环
问题3:不需要,因为数值错误的情况在前面已经被排除了

 

task3

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char color;
    while((color=getchar()) !=EOF){
        getchar();

        switch(color){
        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 is be wrong...\n");break;
        }
    }
    system("pause");
    return 0;
}

 

task4

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
    double x,sum,max,min;
    printf("输入今日开销,直到输入-1终止:\n");
    scanf("%lf",&x);
    max=x;
    min=x;
    sum=0;
    while (x!=-1)
    {
        sum+=x;
        if (x>max)
            max=x;
        if (x<min)
            min=x;
        scanf("%lf",&x);
    }
    printf("今日累计消费总额: %.1f\n",sum);
    printf("今日最高一笔开销: %.1f\n",max);
    printf("今日最低一笔开销: %.1f\n",min);
    system("pause");
    return 0;
}

 

task5

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

 

task6

 

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

 

posted @ 2025-03-23 13:03  西嘻哈  阅读(16)  评论(0)    收藏  举报