实验 2

news/2024/10/11 1:11:11

task 1

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 #define N 5
 5 #define N1 397
 6 #define N2 476
 7 #define N3 21
 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() % (N2 - N1 + 1) + N1;
17 printf("20248329%04d\n", random_no);
18 }
19 else {
20 random_no = rand() % N3 + 1;
21 printf("20248395%04d\n", random_no);
22 }
23 cnt++;
24 }
25 return 0;
26 }

问题1:使得生成的20248329(xxxx)范围在11 12班的学号内

问题2:使得生成的202483295(xxxx)范围在奇安信班的学号内

问题3:该程序实现了随机抽取11.12班.奇安信班的同学回答问题

 

task 2

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main() {
 4 double a, b, c;
 5 double delta, p1, p2; 
 6 while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
 7 if(a == 0) {
 8 printf("a = 0, invalid input\n");
 9 continue;
10 }
11 delta = b*b - 4*a*c;
12 p1 = -b/2/a;
13 p2 = sqrt(fabs(delta))/2/a;
14 if(delta == 0)
15 printf("x1 = x2 = %.2g\n", p1);
16 else if(delta > 0)
17 printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);
18 else {
19 printf("x1 = %.2g + %.2gi, ", p1, p2);
20 printf("x2 = %.2g - %.2gi\n", p1, p2);
21 }
22 }
23 return 0;
24 }

 

 

task 3

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

 

 

task 4

 1 #include<stdio.h>
 2 int main(){
 3     printf("输入今日开销,直到输入-1终止:"); 
 4     double a[100];
 5     int i;
 6     double sum=0;
 7     int count=0;
 8     for(i=0;i<100;i++){
 9         scanf("%lf",&a[i]);
10         sum+=a[i];
11         if(a[i]==-1){
12             break;
13         }
14         count++;
15     }
16         double temp1=0;
17         double temp2=a[0];
18     for(i=0;i<count;i++){
19         
20         if(a[i]>temp1){
21             temp1=a[i];
22             
23         }
24     }
25     
26     for(i=1;i<count;i++){
27         if(a[i]<temp2&&a[i]!=-1){
28             temp2=a[i];
29         }
30     }
31     printf("今日累计消费总额%.1f\n",sum); 
32     printf("今日最高一笔开销%.1f\n",temp1);
33     printf("今日最低一笔开销%.1f\n",temp2);
34     
35     return 0;
36 }

 

 

task 5

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

 

 

task 6

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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70022.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

目前get到最好用的内网穿透软件

官网:https://www.natfrp.com/ 软件名称:SakuraLauncher 不花钱可以获取到两个隧道,如果不想花钱的话,每天签到领流量即可 之前用过cpolar,飞鸽,ngrok,但是我目前觉得这个还是最好用的 不过这款内网穿透需要下载安装包,安装到本地 如果有免费且更好的内网穿透欢迎留言讨…

爆肝 300 小时,我做了个全栈前端一站式学习平台!

在过去的两个月里,我几乎将每个下班后的时间都投入到了自己的新项目 『 前端视界 』 中。这段时间,我熬了60多个大夜,加班加点,终于将它上线了! 『 前端视界 』 是我倾注心血打造的一个全栈前端一站式学习平台。我的初衷很简单:我希望它不仅成为前端开发者的首选资源导航…

OpenDiary 24.10

写日寄,写日寄 奋斗!写日寄,写日寄 奋斗!10.10最近尝试听一点 synthwave国庆结束的第三天 今天只有一节课,还是晚课。早十九,爽 上午起来突发奇想,想搓一个小猿口算脚本试试。试图整个模拟器网络桥接,charles抓包,但是发现很困难,不懂计网玩不转 然后又尝试退而求其次…

Serilog文档翻译系列(八) - 记录器的生命周期、可靠性

Serilog日志记录器使用简便,但需注意接收器资源管理和异常处理。全局Log类简化配置,而ForContext()增强日志功能。异常时Serilog捕获并写入SelfLog,接收器使用PeriodicBatchingSink架构缓存日志事件,失败时重试,保护系统稳定。01、记录器的生命周期 Serilog 大多数情况下“…

STC8H 相较与STC15 STC8A/G 编程的注意点

主要的不同点 IO 口:默认为高阻输入态,和原来默认的双向IO不同,需要注意初始化配置。 复位引脚:STC8H 复位引脚低电平时为复位状态,与STC15、STC8A、STC8G等单片机不同。 ADC(单独相较于STC15):新增加了两个寄存器 ADC_CFG,ADC_TIM. 原来STC15 ADC的配置寄存器 ADC_CON…

[Java] 深入理解:Spring Context :Spring 上下文(ApplicationContext)的层次结构

前言 在使用 Spring 框架进行应用程序开发时,Spring 上下文(Context)是一个非常重要的概念。 Spring 上下文提供了一个环境,用于管理应用程序中的对象(通常称为 Bean)及其之间的依赖关系。 在复杂的应用程序中,可能存在多个上下文对象,而这些上下文对象之间可以形成一种…

VSCode建立工程

原文链接:https://blog.csdn.net/dyzhen/article/details/120362035方法一:简单的使用“Open Folder”打开一个文件夹,这样也可以作为工程用。但是这样有个缺点,就是文件夹下所有的文件都会显示在工程中。日常一般只关注代码文件,推荐用方法二。方法二:打开空的VsCode,直…