1、 int i,j,t; cint; while(t-) for(i=0;i2;i+) for(j=0;jaij; change(a0,b0); void change(int *p,int *q) int i,j; *(q+4-2*j+i)=*(p+3*i+j);/ b2-ji=aij; cout*(q+2*i+j) ; coutcstringint fuck1(int a);float fuck2(float a);void fuck3(char *a); int (*INT)(int); float (*FLOAT)(float); void (*CHAR)(char *a); char
2、ch,b30; int a,t; float c;ch; if(ch=I) INT=fuck1;a; coutINT(a) else if(ch=F FLOAT=fuck2;c;FLOAT(c)S CHAR=fuck3;b; CHAR(b);b=a & *(a+i)while(t-)coutisnumber(p)bijiao(a,b)n) return 1;else if(m*(b+i)x+;y+;if(xy)return 1;else if(x=y)return 0;5.秘钥加密法(指针应用)有一种方式是使用密钥进行加密的方法,就是对明文的每个字符使用密钥上对应的密码进行加密,最终得到密文例
3、如明文是abcde,密钥是234,那么加密方法就是a对应密钥的2,也就是a偏移2位转化为c;明文b对应密钥的3,就是b偏移3位转化为e,同理c偏移4位转化为g。这时候密钥已经使用完,那么又重头开始使用。因此明文的d对应密钥的2,转化为f,明文的e对应密钥的3转化为h。所以明文abcde,密钥234,经过加密后得到密文是cegfh。如果字母偏移的位数超过26个字母围,则循环偏移,例如字母z偏移2位,就是转化为b,同理字母x偏移5位就是转化为c使用三个指针p、q、s分别指向明文、密钥和密文,然后使用指针p和q来访问每个位置的字符,进行加密得到密文存储在指针s指向的位置。除了变量定义和输入数据,其他
4、过程都不能使用数组下标法,必须使用三个指针来访问明文、密钥和密文。当指针q已经移动到密钥的末尾,但明文仍然没有结束,那么q就跳回密钥头第二行输入一个字符串,表示第一个实例的明文第三行输入一个数字串,表示第一个实例的密钥每行输出加密后的密文abcde234XenOS56cegfhCksUXvoid change1(char *d,int *b);void change2(char *a,int *b,char *c,int l);char a30,d30,c30,*p,*s;int i,l,b30,*q,t;d;change1(d,b);l=strlen(d);change2(a,b,c,l);
5、*(c+i)!ci;void change1(char *d,int *b)int i,l=strlen(d);bi=di-void change2(char *a,int *b,char *c,int l)int i,j;*(c+i)=(*(a+i)+*(b+i%l)-97)%26+97);*(c+i)=(*(a+i)+*(b+i%l)-65)%26+65);*(c+i)=6.谁是老二(结构体)题目描述定义一个结构体,包含年月日,表示一个学生的出生日期。然后在一群学生的出生日期中找出谁的出生日期排行第二出生日期的存储必须使用结构体,不能使用其他类型的数据结构。要求程序全过程对出生日期的输入、
6、访问、输出都必须使用结构。第一行输入t表示有t个出生日期每行输入三个整数,分别表示年、月、日输出排行第二老的出生日期,按照年-月-日的格式输出61980 5 61981 8 31980 3 191980 5 31983 9 121981 11 231980-5-3int sheng(int y,int m,int d);struct studentint year;int month;int day;int sheng;student a10;student b;int n,i,j;n;ai.year;ai.month;ai.day;n-1;for(j=0;n-1-i;if(aj.yearaj
7、+1.year)b=aj,aj=aj+1,aj+1=b;ai.sheng=sheng(ai.year,ai.month,ai.day);2-i;if(aj.sheng aj+1.sheng)a1.year-a1.montha1.dayint sheng(int y,int m,int d)int dis=0;switch(m)case 1:dis+=31;case 2:if(y%400=0 | y%4=0 & y%100!=0)dis+=29;dis+=28;case 3:case 4:dis+=30;case 5:case 6:case 7:case 8:case 9:case 10:cas
8、e 11:case 12:return dis-d;7.抄袭查找(结构体+指针+函数)已知一群学生的考试试卷,要求对试卷容进行对比,查找是否有抄袭。每试卷包含:学号(整数类型)、题目1答案(字符串类型)、题目2答案(字符串类型)、题目3答案(字符串类型)使用结构体来存储试卷的信息。定义一个函数,返回值为一个整数,参数是两个结构体指针,函数操作是比较两试卷的每道题目的答案,如果相同题号的答案相似度超过90%,那么就认为有抄袭,函数返回抄袭题号,否则返回0。相似度是指在同一题目中,两个答案的逐个位置上的字符两两比较,相同的数量大于等于任一个答案的长度的90%,就认为抄袭。第一行输入t表示有t试卷第
9、二行输入第1试卷的学生学号第三行输入第1试卷的题目1答案第四行输入第1试卷的题目2答案第五行输入第1试卷的题目3答案每试卷对应4行输入依次输入t试卷的数据在一行中,把发现抄袭的两个学号和题目号,数据之间用单个空格隔开如果发现是题目1抄袭,题目号为1,以此类推输出顺序按照输入的学号顺序进行输出2088150555aabcdef11ZZ887766ddcc33447799ZZ2088150333abcdef00AABBCCDDEEZZ668899cc20881501112088150222AABBCFDDeEZZ889966ddabcdef0002088150444aabcdef00AABBCDD
10、DEEcc668899ZZ2088150333 2088150444 22088150111 2088150222 3int xiao(int a,int b);struct paperint no;char a100;char b100;char c100;int compare(paper *p,paper *q);paper *a;int n,i,j,k;/ freopen(c:123.txt,r,stdin);a=new papern;ai.no ;ai.a ;ai.b ;ai.c ;for(j=i+1;k=compare(&ai,&aj);if(k!ai.noaj.noka);m=strlen(q-l=xiao(l,m);if(p-ai=q-ai)=l*9/10)x=0;b);bi=q-bi)return 2;c);ci=q-ci)return 3;int xiao(int a,int b)if(ab)retu
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1