当前位置: 首页 > news >正文

实验二

程序1 
 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <time.h>
 5 #define N 5
 6 #define N1 80
 7 #define N2 35
 8 int main() {
 9     int cnt;
10     int random_major, random_no;
11     srand(time(NULL)); // 以当前系统时间作为随机种子
12     cnt = 0;
13     while (cnt < N) {
14         random_major = rand() % 2;
15         if (random_major) {
16             random_no = rand() % N1 + 1;
17             printf("20256343%04d\n", random_no);
18         }
19         else {
20             random_no = rand() % N2 + 1;
21             printf("20256136%04d\n", random_no);
22         }
23         cnt++;
24     }
25     return 0;
26 }

1

问题1:srand(time(NULL))是在时间范围内随机取数,以生成随机数字。

问题2:这个程序是用来随机生成学号的。

程序2:

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

 

2

问题1:去掉47行后每次循环total_price并不会被重置,导致找零出错。

问题2:第一处continue表示在判断出choice不在1到4之间时结束此次循环并开始下一次循环,而第二处continue是在判断出quantity<0时结束循环并从头开始循环。

程序3:

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 int main() {
 4     char ch;
 5     while (scanf("\n%c", &ch) != EOF) {
 6         if (ch == 'r') {
 7             printf("stop!\n");
 8         }
 9         if (ch == 'g') {
10             printf("go go go\n");
11         }
12         if (ch == 'y') {
13             printf("wait a minute\n");
14         }
15         if (ch != 'r' && ch != 'g' && ch != 'y') {
16             printf("something must be wrong...\n");
17         }
18     }
19     return 0;
20 }

3

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 int main() {
 4     double a, sum, max, min;
 5     sum = 0;
 6     max = 0;
 7     min = 20000;
 8     printf("请输入今日开销,直到输入-1终止:\n");
 9     while (scanf("%lf", &a) != EOF) {
10         if (a == -1) {
11             break;
12         }
13         if (a > 0 && a <= 20000) {
14             sum += a;
15             if (a >max) {
16                 max = a;
17             }
18             if (a <min) {
19                 min = a;
20             }            
21         }
22     }
23 printf("今日累计消费总额:%.1lf\n", sum);
24 printf("今日最高一笔开销:%.1lf\n", max);
25 printf("今日最低一笔开销:%.1lf\n", min);
26    return 0;
27 }

4

程序5:

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 int main() {
 4     int a, b, c;
 5     while (scanf("%d%d%d", &a, &b, &c) != EOF) {
 6         if (a + b > c && a + c > b && b + c > a) {
 7             if (a == b &&b== c)
 8                 printf("等边三角形");
 9 
10             else if (a == b && b != c || a == c && c != b || b == c && c != a)
11                 printf("等腰三角形");
12 
13             else if (a * a == b * b + c * c || b * b == c * c + a * a || c * c == a * a + b * b)
14                 printf("直角三角形");
15             else
16                 printf("普通三角形");
17         }
18             
19         if(a+b<=c||a+c<=b||b+c<=a)
20             printf("不能构成三角形");
21 
22                 
23         
24     }
25    return 0;
26 }

5

程序6:

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include<stdlib.h>
 4 #include<time.h>
 5 #define N 3
 6 int main() {
 7     int cnt=0;
 8     int a, random;
 9     srand(time(NULL));
10     random = rand() % 30 + 1;
11     
12     printf("猜猜2025年11月哪一天是你的lucky day\n");
13     printf("开始喽,你有三次机会,猜吧(1-30):");
14     
15 
16     do {
17         scanf("%d", &a);
18         
19         
20         if (a == random) {
21             printf("哇,猜中了");
22             break;
23         }
24         if (a != random) {
25             if (a < random) {
26                 printf("你猜的日期早了,你的lucky day还没到呢\n");
27                 printf("再猜(1-30):");
28                 
29             }
30             if (a > random) {
31                 printf("你猜的日期晚了,你的lucky day在前面呢\n");
32                 printf("再猜(1-30):");
33                 
34             }
35 
36             cnt++;            
37         }
38 
39     } while (cnt < 3);
40     if (cnt == 3) {
41         printf("次数用光啦。偷偷告诉你,11月你的lucky day是%d号", random);
42 
43     }
44         return 0;
45 }

6

 

 
http://www.hskmm.com/?act=detail&tid=30869

相关文章:

  • linux系统查看磁盘过程
  • 2025-10-14 闲话
  • ftp多用户多目录配置
  • 芋道框架怎么样
  • 神级掩护软件!老板路过我电脑在“系统更新中”
  • 超真实“电脑崩溃模拟器”:蓝屏、重启、FBI警告一应俱全!
  • (20)ASP.NET Core2.2 EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性) - 指南
  • (在构造函数中)调用super(props)的目的是什么?
  • 温故知新,机器人进化论,机器人分类与全球格局
  • Zemax:初学者的混合模式 - 指南
  • 西门子博图软件TIA V18使用PLCSIM Advanced V5.0进行仿真与其他程序进行通讯
  • MyEclipse 2017/2018 安装与破解 图文教程
  • 面向对象初级
  • 【文章目录】
  • Excel DDE 教學:即時資料交換的詳細指南 - 指南
  • 子网掩码基础知识
  • AI元人文构想基础理论体系研究
  • 微信机器人框架
  • 数论学习笔记
  • 实用指南:JavaWeb 课堂笔记 —— 24 AOP 面向切面编程
  • 微信机器人接口开发
  • 2025年7款与Jira数据同步的实用国产优秀项目管理软件对比
  • ESP8266 PMW使用的简单介绍
  • DevEco Testing全面解析:HarmonyOS测试框架与实战指南 - 教程
  • 本周第一单 多晶硅
  • 加州新规要求AI必须表明其AI身份
  • 详细介绍:【rabbitmq 高级特性】全面详解RabbitMQ TTL (Time To Live)
  • 第三台中转机实现远程scp文件到远程
  • 单片机使用同一硬件定时器实现多周期定时功能
  • 低代码平台底层协议设计