实验2 C语言分支与循环基础应用编程-1

news/2024/10/8 19:04:23
任务一

#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 #define N1 397 #define N2 476 #define N3 21int main() {int cnt;int random_major, random_no;srand(time(NULL)); // 以当前系统时间作为随机种子 cnt = 0;while(cnt < N) {random_major = rand() % 2;if(random_major) {random_no = rand() % (N2 - N1 + 1) + N1;printf("20248329%04d\n", random_no);}else {random_no = rand() % N3 + 1;printf("20248395%04d\n", random_no);}cnt++;}return 0; }

 

 

 第二十一行的作用是生成397到476之间的随机数作为学号后缀

第二十五行的作用是生成1到21之间的随机数作为学号后缀

本程序功能为首先根据系统时间生成随机数种子,再生成随机数,若为奇数,则为20248329前缀的学号随机生成397到476之间的后缀,接着补0输出,若为偶数,则为20248395前缀的学号生成1到21之间的后缀,补0输出,上述流程共重复5次,共打印五行学号

任务二

#include <stdio.h>
#include <math.h>int main() {double a, b, c;double delta, p1, p2; while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {if(a == 0) {printf("a = 0, invalid input\n");continue;}delta = b*b - 4*a*c;p1 = -b/2/a;p2 = sqrt(fabs(delta))/2/a;if(delta == 0)printf("x1 = x2 = %.2g\n", p1);else if(delta > 0)printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);else {printf("x1 = %.2g + %.2gi, ", p1, p2);printf("x2 = %.2g - %.2gi\n", p1, p2);}}return 0;
}

 

 

任务三

#include<stdio.h>
int main(){char a;while(scanf("%s",&a)!=EOF){if(a=='y'){printf("wait a minute\n");}else if(a=='r'){printf("stop!\n");}else if(a=='g'){printf("go go go\n");}else{printf("something must be wrong...\n");}}return 0;
} 

 

 任务四

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

 

 

任务五

#include <stdio.h>int main() {int a, b, c;while (scanf("%d %d %d", &a, &b, &c) == 3) {if (a + b <= c || a + c <= b || b + c <= a) {printf("不能构成三角形\n");} else {if (a == b && b == c) {printf("等边三角形\n");} else if (a == b || a == c || b == c) {printf("等腰三角形\n");} else {int max_side = a;if (b > max_side) max_side = b;if (c > max_side) max_side = c;if (max_side == a) {if (b * b + c * c == a * a) {printf("直角三角形\n");} else {printf("普通三角形\n");}} else if (max_side == b) {if (a * a + c * c == b * b) {printf("直角三角形\n");} else {printf("普通三角形\n");}} else {if (a * a + b * b == c * c) {printf("直角三角形\n");} else {printf("普通三角形\n");}}}}}return 0;
}

 

 任务六

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {int lucky_day, guess;int attempts = 3;srand(time(NULL));lucky_day = rand() % 30 + 1;printf("欢迎来到猜日期游戏!请猜测11月的幸运日(1到30):\n");while (attempts > 0) {printf("你还有 %d 次机会。请输入你的猜测: ", attempts);scanf("%d", &guess);if (guess < 1 || guess > 30) {printf("请输入一个有效的日期(1到30之间)!\n");continue;}if (guess == lucky_day) {printf("恭喜你,猜对了!\n");return 0; } else if (guess < lucky_day) {printf("你猜的日期太早了。\n");} else {printf("你猜的日期太晚了。\n");}attempts--;}printf("很遗憾,你没有猜中。11月的幸运日是 %d。\n", lucky_day);return 0;
}

 

 

 

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

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

相关文章

面试-前端基础速刷-Vue

1. Vue中computed和watch的区别 两者用途不同啊!computed用于计算产生新的数据,watch用于监听现有数据。 computed有缓存,methods没有缓存。 computed有点儿像工厂模式(产生新的东西),watch像发布订阅模式。(是我目前的知识盲区) 2. Vue组件通讯有几种方式,尽量全面❗…

宝塔平替:1Panel-新一代的 Linux 服务器运维管理面板(附优惠码/推荐码)

什么是1Panel 1Panel是一款开源,现代化的新一代的 Linux 服务器运维管理面板!1Panel可以帮你实现的功能: 高效管理:用户可以通过 Web 图形界面轻松管理 Linux 服务器,实现主机监控、文件管理、数据库管理、容器管理等功能; 快速建站:深度集成开源建站软件 WordPress 和 …

大模型应用开发初探 : 基于Coze创建Agent

Coze(扣子)是字节跳动公司开发的新一代AI应用开发平台,使用这个AI应用开发平台,无论你是否有编码基础,都可以快速搭建基于大语言模型的各类AI Bot,还可以将Bot发布到其他渠道。对于一个AI Agent而言,最重要的能力就是任务规划、调用工具、知识库 和 记忆能力,而这些能力…

了解final关键字在Java并发编程领域的作用吗?

在Java并发编程领域,final关键字扮演着一个至关重要的角色。虽然很多同学熟悉final用于修饰变量、方法和类的基本用法,但其在并发环境中的应用和原理却常常被忽视。final关键字不仅仅是一个简单的修饰符,它在多线程编程中确保对象状态的可见性和不变性,这对于构建线程安全的…

20222325 2024-2025-1 《网络与系统攻防技术》实验一实验报告

1.实验内容缓冲区溢出基本知识:堆栈、函数调用。 shellcode技术以及其在各平台的运用与防御。 BOF攻击防御技术。2.实验目标 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含…

用AI构建小程序可行吗?

AI工具在软件开发中扮演着越来越重要的角色,它可以帮助开发者提高效率、增强软件功能、降低开发门槛。通过合理选择和应用AI工具,可以显著提升软件开发的质量和效率。随着移动互联网的快速发展,多端应用的需求日益增长。为了提高开发效率、降低成本并保证用户体验的一致性,…

PyQt5 使用 QLabel 实现图像 360度 不间断旋转

PyQt5 使用 QLabel 实现图像 360度 不间断旋转 当我们需要实现让一个图像 360度 旋转时,比如:音乐播放器中播放时,歌曲封面的旋转效果,你可以尝试使用下面的方法 代码结构 本文中全部代码全在test_QLabel_whirling.py这一个文件中编码,步骤中有变动的地方会注释标注,无改…

systemverilog笔记

变量类型变量名 状态数 是否带符号 比特数logic 4 无 1bit 2 无 1byte 2 有 8shortint 2 有 16int 2 有 32longint 2 有 64integer 4 有 32time 4 无 64$isunknown(表达式):在表达式任意位出现X或者Z时返回1。 数组 数组初始化 使用单引号加大括号数组遍历 $size(数组)会返回