- 博客(64)
- 收藏
- 关注
原创 BUPT CSAPP lab3 缓冲区溢出
一、实验目的1.理解C语言程序的函数调用机制,栈帧的结构。2.理解x86-64的栈和参数传递机制3.初步掌握如何编写更加安全的程序,了解编译器和操作系统提供的防攻击手段。3.进一步理解x86-64机器指令及指令编码。二、实验环境1.SecureCRT(10.120.11.12)2.Linux3.Objdump命令反汇编4.GDB调试工具5.。。。。。三、实验内容登录bupt1服务器,在home目录下可以找到一个targetn.tar文件,解压后得到如下文件:README.txt;
2022-03-24 23:23:09
4960
原创 BUPT CSAPP lab2二进制炸弹
一、实验目的1.理解C语言程序的机器级表示。2.初步掌握GDB调试器的用法。3.阅读C编译器生成的x86-64机器代码,理解不同控制结构生成的基本指令模式,过程的实现。二、实验环境1.SecureCRT(10.120.11.12)2.Linux3.Objdump命令反汇编4.GDB调试工具5.Xshell 软件三、实验内容登录bupt1服务器,在home目录下可以找到Evil博士专门为你量身定制的一个bomb,当运行时,它会要求你输入一个字符串,如果正确,则进入下一关,继续要求你输入下
2022-01-29 23:29:40
6444
原创 NJUST 2021 机械工程学院大一C语言大作业 简易绘图板
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>int over = 1;int change = 1;// 画布由20行,36列的二维数组成,通过符号常数定义#define N_ROWS 20#define N_COLS 36// 初始给出的两种阴影的定义#define BLACK 0 // 表示黑色#define DARK 1#def
2021-09-10 15:30:40
451
1
原创 BJFU 2020大一计导课设 教务系统
#include <stdio.h>#include <stdlib.h>#include <string.h>int over = 1;char restrictcollege[20][20] = {"计算机学院", "通信学院", "电子学院", "经济学院", "园林学院", "社会学院", "电气学院", "船舶学院", "自动化学院", "理学院", "法学院", "医学院"};char restricttitle[5][20] = {"教授", "副
2021-09-10 15:25:30
379
原创 T恤尺码。
#include<stdio.h> int main(){ int n; scanf("%d",&n); int a[n],b[n]; char body[181][146]; int i,j,k,c; j=0; k=0; c=0; body[160][130]='M'; body[160][135]='M'; body[160][140]='L'; body[160][145]='L'; body[165][130]='M'; body[165][135
2021-09-07 08:34:20
181
原创 reserveNum函数
#include<stdio.h>int reverseNum(int) ; int main(){ int num ; scanf("%d",&num); printf("The reverse form of number %d is %d.\n",num,reverseNum(num)) ; return 0;}int reverseNum(int num) { int i,s,a,b; for(i=1,s=1;num/s!=0;i++) {
2021-09-07 08:33:15
188
原创 mypow函数
#include<stdio.h>int mypow(int , int ) ;int main(){ int x, n ; scanf("%d%d",&x,&n) ; printf("%d\n",mypow(x,n)) ; return 0;}int mypow(int x, int n){ int i; int m; m=1; for(i=1;i<=n;i++) { m*=x; } return
2021-09-07 08:32:43
2894
原创 judgeTriangle函数
int judgeTriangle(int,int,int) ; int main(){ int a, b, c ; scanf("%d%d%d",&a,&b,&c); switch(judgeTriangle(a,b,c)) { case -1 : printf("It is not a triangle.\n") ; break ; case 0 : printf("It is a scalenous triangle.\n") ; break ;
2021-09-07 08:32:03
230
原创 isPerfect与printPerfect函数
#include <stdio.h>//判断一个数是否为完全数的函数int isPerfect(int);//打印完全数的函数 void printPerfact(int);int main(){ int i,a,b,count; scanf("%d%d",&a,&b); count = 0 ;//a,b两数间完全数的数量,初始化为0 for(i=a;i<=b;i++) { if (isPerfect(i)) //如果是完全数
2021-09-07 08:31:15
732
原创 getDigit函数
#include<stdio.h>int getDigit(long long n); int main(){ long long n ; int len ; scanf("%lld",&n); len = getDigit(n) ; if (len > 1) printf("The integer %lld has %d digits.\n",n, len) ; else printf("The integer %lld has %d di
2021-09-07 08:30:32
1019
原创 getday函数
#include<stdio.h>int getDays(int,int) ;int main(){ int year, month ; scanf("%d%d",&year,&month); printf("There are %d days in month %d year %d.",getDays(year,month), month, year) ; return 0 ; }int getDays(int year,int month) {
2021-09-07 08:29:41
685
原创 fun函数
#include<stdio.h>int fun(int) ;int main(){ int x ; scanf("%d",&x); printf("The result is:y=%d\n",fun(x)) ; return 0 ; }int fun(int){ if(x<1) x=x; else if(x<=10&&x>=1) x=2*x-1; else if(x>10&&x<=10
2021-09-07 08:28:23
4425
原创 50个素数
#include<stdio.h>int main(){ int x; int cnt=0; int i,a; int m=1; a=1; for(x=2;cnt<=50;x++) { a=1; for(i=2;i<x;i++) { if(x%i==0) { a=0; } } if(a) { if(m%5!=0) prin
2021-09-07 08:27:33
235
原创 12-7结构排序
#include<stdio.h>struct Student{ int order; char ID[11]; char name[11]; int grade[4];};typedef struct Student student;void add(student a[],int n);void de(student a[],int n);void change(student a[],int n);void show(student a[],int n);int
2021-09-06 11:39:21
88
原创 12-6结构排序
#include<stdio.h>struct student{ char name[21]; int grade;};typedef struct student Student;void person(Student a[],int n);int main(){ int i,j,n; scanf("%d",&n); Student a[n]; for(i=0;i<n;i++) scanf("%s%d",a[i].name,&a[i].gra
2021-09-06 11:38:44
86
原创 12-5初识结构数组
#include<stdio.h>struct student{ char name[21]; char number[21]; int grade[6]; double average; int total;};typedef struct student Student;void person(Student a,int n);int main(){ int n,i,j,t; scanf("%d",&n); Student a[n]; i=0; wh
2021-09-06 11:38:14
92
原创 12-4初识结构
#include<stdio.h>struct student{ char name[21]; char number[21]; int grade[6]; double average; int total;};typedef struct student Student;int main(){ int i,j,t; Student a; Student *ptr=&a; gets(a.name) ; scanf("%s",a.number); a.t
2021-09-06 11:36:57
82
原创 12-3动态数组进阶
#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ int n,i,j,length; char *t; scanf("%d",&n); getchar(); char **a=(char**)malloc(sizeof(char*)*n);; char huan[1000]; for(i=0;i<n;i++) { gets(huan); lengt
2021-09-06 11:36:07
113
原创 12-2指针数组进阶
#include<stdio.h>#include<string.h>#include<stdlib.h>void judge(char *num[],int n);int main(){ int n,i,j,a; char *t; scanf("%d",&n); char sentence[100000]; char *num[n]; getchar(); num[0]=sentence; for(i=0;i<n;i++) {
2021-09-06 11:35:22
100
原创 12-1结构图-学生成绩
#include <stdio.h>typedef struct{ char id[16] ;//学生账号 int total ; //综合成绩 int ce ; //机试成绩 int ws ; //加权成绩 }STUDENT;void Sort(STUDENT a[],int size) ; void Swap(STUDENT * s1,STUDENT * s2) ;int
2021-09-06 11:34:27
117
原创 11-5动态分配内存2
#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ int **a,n,m,i,j; scanf("%d%d",&n,&m); a=(int **)malloc(sizeof(int *)*n);//建立长度为n的动态指针数组 for(i=0;i<n;i++) a[i]=(int *)malloc(sizeof(int)*m);//
2021-09-06 11:32:53
84
原创 11-4动态分配内存
#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ int *a,n; scanf("%d",&n); a=(int * )malloc(sizeof(int) * n); int i; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) a[i]=a[i]
2021-09-06 11:32:20
86
原创 11-3指针分单词
#include<stdio.h>int getString( char * source , char *strPtr[] ) ;int main(){ char str[100005]; char *strPtr[1005]={0}; int i, num ; gets(str); num = getString( str , strPtr ) ; for( i = 0 ; i < num ; i++ )
2021-09-06 11:31:27
134
原创 11.2指针定位
#include <stdio.h>char *locatesubstr(char *str1,char *str2);int main(){ char str1[505],str2[505]; char *p; gets(str1); gets(str2); p=locatesubstr(str1,str2); if(p==NULL) printf("NULL!\n"); else puts(p); retu
2021-08-06 17:45:17
238
原创 11.1指针删除
#include<stdio.h>void delcharfun(char *str,char ch);int main(){ char ch,str[110]; scanf("%s",str); getchar(); scanf("%c",&ch); delcharfun(str,ch); printf("%s\n",str); return 0; }v
2021-08-06 17:44:36
403
原创 10.7字符串排序
#include<stdio.h>#include<string.h>#include<stdlib.h>int main (){ int n,i,s; scanf("%d",&n); char a[201][101]; char t[201]; getchar(); for(i=0;i<n;i++) gets(a[i]); for(s=n-1;s>=1;s--) { for(i=0;i<s;i++) {
2021-08-06 17:23:43
89
原创 10.6统计子串
#include<stdio.h>int main(){ int i,j,a[100][100],n,k; scanf("%d",&n); k=1; for(i=0; i<n; i++) for(j=0; j<=i; j++) { if(i%2==0) a[j][i-j]=k; else a[i-j][j]=k; k++; }
2021-08-06 17:22:52
69
原创 10.5蛇形矩阵
#include<stdio.h>int main(){ int i,j,a[100][100],n,k; scanf("%d",&n); k=1; for(i=0; i<n; i++) for(j=0; j<=i; j++) { if(i%2==0) a[j][i-j]=k; else a[i-j][j]=k; k++; }
2021-08-06 17:21:54
91
原创 10.4矩阵转换
#include<stdio.h>int main(){ int n,i,s,min,t; scanf("%d",&n); int a[n][n]; int average[100]= {0}; int count[100]; for(i=0;i<n;i++) count[i]=-1; for(i=0;i<n;i++) { for(s=0;s<n;s++) { scanf("%d",&a[i][s]); average
2021-08-06 17:21:19
103
原创 10.3矩阵鞍点
#include<stdio.h> int zong(int [][100],int,int);int heng(int [][100],int,int);int main(){ int m,n,i,s,b,c,d; scanf("%d%d",&n,&m); int a[100][100]; d=0; for(i=0;i<n;i++) for(s=0;s<m;s++) scanf("%d",&a[i][s]); f
2021-08-06 17:20:36
67
原创 10.2推销员
#include<stdio.h>int main(){ int n,i,s; scanf("%d",&n); int a,b; float c; float su[6][5]={0}; i=0; while(n--) { scanf("%d%d%f",&a,&b,&c); su[b-1][a-1]+=c; i++; } for(i=0;i<6;i++) { for(s=0;s<4;s++) su[i][4
2021-08-06 17:19:57
88
原创 10.1矩阵转置
#include<stdio.h>int main(){ int n,m; int i,s; scanf("%d%d",&n,&m); int a[n][m]; int b[m][n]; for(i=0;i<n;i++) for(s=0;s<m;s++) scanf("%d",&a[i][s]); for(i=0;i<n;i++) for(s=0;s<m;s++) b[s][i]=a[i][s]; f
2021-08-06 17:19:24
105
原创 5.6小学奥赛
#include<stdio.h>int main(){ long long int x,i,m,n,a,b,c; scanf("%lld",&x); m=1; n=1; c=1; a=1; b=1; for(i=1;i<=x;i+=2) { m=i; n=i+2; if(i>=2) b=b*n+a*m;
2021-08-06 17:10:07
70
原创 5.5牛顿迭代法
#include<stdio.h>#include<math.h>int main(){ double a,b,c,d,s,x,m,n; scanf("%lf%lf%lf%lf",&a,&b,&c,&d); x=1; s=1; while(fabs(s)>1e-5) { m=a*pow(x,3)+b*pow(x,2)+c*x+d; n=3*a*pow(x,2)+2*b*x+c ; s=m/n; x=x
2021-08-04 09:08:23
112
原创 5.4进制转换
#include<stdio.h>#include<math.h>int main(){char n;double c,i,a,b,d;n=getchar();i=0;a=0;b=n;c=0;while((n=getchar())!=’#’){n=getchar();i++;b=b*10+n;if(n==’.’){a++;}}for(i=i-a;i>=0;i--){ c+=b/pow(10,i)*pow(2,i);}if(a==
2021-08-04 09:04:25
135
原创 5.2解密加密
#include<stdio.h>int main(){int n,f;scanf("%d%d",&n,&f);int a,b,c,d,m,i;a=n/1000;b=n/100%10;c=n/10%10;d=n%10;if(f==1){a=(a+7)%10;b=(b+7)%10;c=(c+7)%10;d=(d+7)%10;m=a;a=c;c=m;i=b;b=d;d=i;n=a1000+b100+c10+d;printf(“After
2021-08-04 09:03:27
130
原创 5.1韩信点兵
#include<stdio.h>int main(){int x;scanf("%d",&x);for(x;;x++){if(x%51&&x%65&&x%76&&x%1110)break;}printf("%d",x);return 0;}
2021-08-04 09:01:27
88
原创 4-2-6输出三角形字符序列
#include<stdio.h>int main(){int n,s,l,i,a;char c=‘A’;scanf("%d",&n);for(l=1;l<=n;l++){ for(s=n+1-l;s>=1;s--) { if(s>1) printf("%c ",c); if(s==1) printf("%c \n",c); c=c+1; }}retu
2021-08-04 08:58:09
110
原创 4-2-5水仙花数
#include<stdio.h>int main(){int n,s,l,i,a;char c=‘A’;scanf("%d",&n);for(l=1;l<=n;l++){ for(s=n+1-l;s>=1;s--) { if(s>1) printf("%c ",c); if(s==1) printf("%c \n",c); c=c+1; }}retu
2021-08-04 08:57:26
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人