实验二

1.

#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("20240042%04d\n", number);
    } 
return 0;
}

1.生成一个1到100的随机整数
2.使number的数为4位,不够就在前面补0
3.生成5个在202400420001~202400420100之间的随机学号

2.

#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.否,20-23行已进行错误排查

3.

#include <stdio.h>

int main() 
{
    char n;
    printf("请输入字符,r表示red,g表示green, y表示yellow\n");
    
    while(scanf("%c",&n)!=EOF)
    {
    getchar();
    switch(n)
    {
    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;
}

4.

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

5.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() 
{
    int x,day,i;
    srand(time(0));
    day=rand()%30+1;
    printf("猜猜哪一天是你的lucky day\n");
    printf("开始喽 你有三次机会,猜吧:");
    for(i=1;i<=3;++i)
    {
    
        scanf("%d",&x);
        if(x<day)
        {
            printf("猜早了 lucky day还没到呢\n");
            if(i==3)
                printf("次数用完啦 偷偷告诉你 你的lucky day是 %d",day);
            else
                printf("再猜:");
            continue;
        } 
        if(x>day)
        {
            printf("猜晚啦 lucky day在前面哦\n");
            if(i==3)
                printf("次数用完啦 偷偷告诉你 你的lucky day是 %d",day);
            else
                printf("再猜:");
            continue;
        }
        if(x==day)
        {
            printf("哇,猜中了\n");
            break;
        }
    }
return 0;
}

6.

#include <stdio.h>
#include <stdlib.h>
int main() 
{
    int n,i,j;
    scanf("%d",&n);
    for (i=n;i>=1;--i)
    {
        for (j=0;j<n-i;++j) 
        {
            printf("      ");
        }
        for (j = 0; j < 2 * i - 1; ++j) 
        {
            printf(" 0 ");
            printf("   ");
        }
        printf("\n");
        for (j=0;j<n-i;++j) 
        {
            printf("      ");
        }
        for (j=0;j<2*i-1;++j)
        {
            printf("<H>");
            printf("   ");
        }
        printf("\n");
        for (j=0;j<n-i;++j) 
        {
            printf("      ");
        }
        for (j = 0; j < 2 * i - 1; ++j) 
        {
            printf("I I");
            printf("   ");

        }
        printf("\n");
        for (j=0;j<n-i;++j) 
        {
            printf(" ");
        }
        printf("\n");
    }
return 0;
}

 

posted @ 2025-03-18 21:14  周丹婷  阅读(9)  评论(0)    收藏  举报