首页 > 其他分享 >实验2

实验2

时间:2024-10-11 19:10:27浏览次数:8  
标签:11 cnt p1 int 实验 printf include

任务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         
29         cnt++;
30     }
31     
32     return 0;
33 }

问题1:限制输出的随机数在班内同学的学号范围内

问题2:限制输出的随机数在班内奇安信同学的学号范围内

问题3:按照学号随机抽取四个班内的同学

任务2

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

任务3

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

任务4

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

任务5

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

任务6

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

标签:11,cnt,p1,int,实验,printf,include
From: https://www.cnblogs.com/ljhlll/p/18454852

相关文章

  • 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。②然后运行可......
  • 实验二
    实验二任务一源代码#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5#defineN1397#defineN2476#defineN321intmain(){intcnt;intrandom_major,random_no;srand(time(NULL));cnt=0;while(c......
  • 实验2
    任务1:源代码:1#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13977#defineN24768#defineN321910intmain(){11intcnt;12intrandom_major,random_no;1314srand(......
  • 实验2
    任务1源代码:编译 任务2源代码: 编译 任务3源代码:编译任务4源代码; 编译 任务5源代码: 编译任务6源代码:编译 ......
  • 20222302 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容本周学习内容1.熟练掌握了栈和堆的概念。2.掌握了Linux的基本操作,如shell命令和编译器gcc、调试器gdb的使用。3.掌握了缓冲区溢出的原理。实验任务本次实验的对象是一个名为pwn1的linux可执行文件。该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何......