任俊慧 发表于 2025-10-13 23:35:00

实验2作业

任务1

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

#define N 5
#define N1 80
#define N2 35

int main(){
        int cnt;
        int random_major,random_no;
        cnt=0;
        while(cnt<N){
                random_major=rand()%2;

                if(random_major){
                        random_no=rand()%N1+1;
                        printf("20256343%04d\n",random_no);
                }
                else{
                        random_no=rand()%N2+1;
                        printf("20256136%04d\n",random_no);
                }

                cnt++;
        }
        system("pause");
        return 0;
}  

 问题1
会使第二次再购买饮料使的总价钱为第一次和第二次总价相加之和,使其购买总价计算错误
问题2
不再执行continue后面的语句,重新进行一次循环
任务3

#include <stdio.h>
#include<stdlib.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;
            }
            if(choice == 1 || choice == 2)
                    total_price += 3 * quantity;
                else if(choice == 3)
                        total_price += 5 * quantity;
                else
                        total_price += 2 * quantity;
                printf("请投入金额: ");
                scanf("%f", &amount_paid);
                change = amount_paid - total_price;
                printf("本次购买总价: %.2f 元\n", total_price);
                printf("找零: %.2f 元\n", change);
                total_price = 0;
        }
        printf("感谢您的购买,欢迎下次光临!\n");
        system("pause");
        return 0;
}  

任务4

#include#include#define _CRT_SECURE_NO_WARNINGSint main(){        float x,max=0,min=20000,ans=0;        printf("输入今日开销,直到输入-1终止:\n");        scanf("%f",&x);        while(x>0){                ans=ans+x;                if(x>max)                        max=x;                if(x
页: [1]
查看完整版本: 实验2作业