首页 > 其他分享 >实验2

实验2

时间:2024-10-11 21:43:26浏览次数:1  
标签:%. int p1 实验 printf include getchar

任务1:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 #define N 5
 6 #define N1 397
 7 #define N2 476
 8 #define N3 21
 9 
10 int main(){
11     int cnt;
12     int random_major,random_no;
13     
14     srand(time(NULL));
15     
16     cnt=0;
17     while(cnt<N){
18         random_major=rand()%2;
19         
20         if(random_major){
21             random_no=rand()%(N2-N1+1)+N1;
22             printf("20248329%04d\n",random_no);
23         }
24         else{
25             random_no=rand()%N3+1;
26             printf("20248395%04d\n",random_no);
27         }
28         cnt++;
29     }
30     return 0;
31 }

从N1到N2中随机取一个数

从N3中取一个数

从2个班中取5个学号

任务2:

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

任务3:

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

任务4:

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

任务5:

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

任务6:

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

 

标签:%.,int,p1,实验,printf,include,getchar
From: https://www.cnblogs.com/qjj1004/p/18459426

相关文章

  • 实验2
    1#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13977#defineN24768#defineN321910intmain(){11intcnt;12intrandom_major,random_no;1314srand(time(NULL)......
  • 程序的运行时间(超时是咋回事 + 测试实验)
    一些同学可能对计算机运行的速度还没有概念,只是感觉计算机运行速度应该会很快,那么在OJ(onlinejudge,比如大家熟悉的leetcode)上做算法题目的时候为什么OJ会判断运行的程序超时呢?其超时情况如图所示:超时是怎么回事在leetcode上练习算法的时候应该都遇到过一种错误是“超时”。也......
  • 20222316 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    一、实验内容缓冲区溢出定义:缓冲区溢出是一种程序错误,在这种情况下,数据被写入到内存中的缓冲区时超过了该缓冲区所能容纳的最大容量。当超过缓冲区的边界时,额外的数据会溢出到相邻的内存位置中,覆盖掉其他数据或指令,导致程序行为异常或系统安全漏洞。缓冲区溢出的原因:编程......
  • 实验2
    任务11#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13977#defineN24768#defineN321910intmain(){11intcnt;12intrandom_major,random_no;1314srand(time(N......
  • 20222311 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    202223112024-2025-1《网络与系统攻防技术》实验一实验报告1.实验内容本次实验主要内容为BOF注入攻击,任务如下:掌握反汇编及其指令修改程序的机器指令,从而实现BOF注入攻击注入一段Shellcode,以实现BOF注入攻击2.实验过程任务1:修改可执行文件机器指令,改变程......
  • 实验一,现代C++编程初体验
    一、实验目的 体验C++的标准库,算法库用法。数据表示,分支循环,函数和标准库等,编程解决简单基础问题。二、实验准备 第二章C++语言简单设计第三章函数第九章函数模板 三、实验内容 1.实验任务1代码:1#include<iostream>2#include<string>3#include<vector>......
  • # 20222409 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容1.1逆向工程与汇编基础:掌握了汇编指令(如NOP、JMP等)在控制程序流中的作用。学会使用objdump反汇编可执行文件,并通过十六进制编辑器修改机器码以改变程序执行流程。1.2缓冲区溢出(BufferOverflow)原理:了解堆栈结构和返回地址覆盖,理解如何通过超长输入覆盖返回地址来控......
  • 20222318 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    一.实验内容(一)本周学习内容本周学习了缓冲区溢出的相关原理,包括简单的汇编代码、缓冲区溢出本质、堆栈的工作原理、Shellcode的编写等等。(二)实验涉及知识点(1)Linux基本操作:①熟悉Linux环境:能够在Linux系统中进行基本的文件操作、目录导航,如cd等。②常用指令理解:如管道(|)、输入......
  • 20222307 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容1.1本周学习内容进程内存管理在Linux系统中,当OS可执行程序被加载到内存后,其内存布局主要包括三个关键段:*.text段:包含程序的指令,这些指令是只读的,用于指导CPU执行操作。*.data段:存储静态初始化数据,这些数据是可写的,程序在运行时可以直接访问和修改。*.bss段:用......
  • 20222418 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容本周课程内容为缓冲区溢出和shellcode:2.实验过程(1)直接修改程序机器指令,改变程序执行流程①首先根据网上教程安装好kali虚拟机,更改主机名为heshan;下载目标文件pwn1,将pwn1文件放入共享文件夹并在VMware中设置共享以便使用,并将其重命名为pwn20222418。②然后运行可......