• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
0128-gong
博客园    首页    新随笔    联系   管理    订阅  订阅
实验二
 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 }

 Q1:得到1~100的随机数

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

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

 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 }

Q1:把0赋值给total-price

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

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

 task3

 1 #include <stdio.h>
 2 
 3 int main() {
 4     char input;
 5 
 6     printf("请输入交通信号灯颜色:");
 7     scanf(" %c", &input);
 8 
 9     switch (input) {
10         case 'g':
11             printf("go go go\n");
12             break;
13         case 'y':
14             printf("wait a minute\n");
15             break;
16         case 'r':
17             printf("stop!\n");
18             break;
19         default:
20             printf("something must be wrong...\n");
21             break;
22     }
23 
24     return 0;
25 }

 

 

 

 task4

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     double money, max, min, average, count, sum;
 7     printf("输入今日开销,直到输入-1终止:\n");
 8     money = 0;
 9     average = 0;
10     count = 0;
11     sum = 0;
12     max=money;
13     min=money;
14     while (1)
15     {
16         scanf("%lf", &money);
17 
18         if(money!=-1)
19         {
20             if(count==0)
21             {
22                 min=money;
23                 max=money;
24             }
25             else
26             {
27             if (money>max)
28                 max = money;
29             if (money<min)
30                 min = money;
31             }
32             sum=sum+money;
33             count+=1;
34         }
35         else
36             break;
37     }
38         average = sum/ count;
39 
40         printf("今日累计消费总额:%.1lf", sum);
41         printf("今日最高一笔开销:%.1lf", max);
42         printf("今日最低一笔开销:%.1lf", min);
43     system("pause");
44     return 0;
45 }

 task5

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 int main() {
 6     int luckyDay, guess;
 7     int attempts = 3;
 8 
 9     srand(time(NULL));
10     luckyDay = rand() % 30 + 1;
11 
12     printf("猜猜2025年4月哪一天是你的lucky day\n");
13     printf("开始喽,你有三次机会,猜吧(1~30):\n");
14 
15     for (int i = 0; i < attempts; i++) {
16         printf("再猜(1~30):");
17         scanf("%d", &guess);
18 
19         if (guess == luckyDay) {
20             printf("哇,猜中了:-)\n");
21             return 0;
22         } else if (guess < luckyDay) {
23             printf("你猜的日期早了,你的lucky day还没到呢\n");
24         } else {
25             printf("你猜的日期晚了,你的lucky day在前面哦\n");
26         }
27     }
28 
29     printf("次数用完啦。偷偷告诉你,4月你的lucky day是%d号\n", luckyDay);
30 
31     return 0;
32 }

 task6

 1 #include <stdio.h>
 2 
 3 int main() {
 4     int rows, i, j;
 5 
 6 
 7     printf("请输入倒三角的行数: ");
 8     scanf("%d", &rows);
 9 
10 
11     for (i = rows; i >= 1; --i)
12     {
13 
14         for (j = 0; j < rows - i; ++j) {
15             printf("      ");
16         }
17 
18         for (j = 0; j < 2 * i - 1; ++j) {
19             printf(" 0 ");
20             printf("   ");
21         }
22         printf("\n");
23         for (j = 0; j < rows - i; ++j) {

 

 

24             printf("      ");
25         }
26          for (j = 0; j < 2 * i - 1; ++j) {
27                     printf("<H>");
28                     printf("   ");
29          }
30 
31          printf("\n");
32          for (j = 0; j < rows - i; ++j) {
33              printf("      ");
34          }
35          for (j = 0; j < 2 * i - 1; ++j) {
36                     printf("I I");
37                     printf("   ");
38 
39          }
40          printf("\n");
41          for (j = 0; j < rows - i; ++j) {
42              printf(" ");
43          }
44           printf("\n");
45     }
46 
47             return 0;
48         }

 

 

 

posted on 2025-03-19 21:54  Tovo  阅读(15)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3