📄 挑出两整数数组中不同的元素(需密码).txt
字号:
/* 挑出两数组中的不同元素 ----Author:zhg_2006.5.20
*/
#define M 5
#define N 6
#include<stdio.h>
void compare(int a[],int b[]);
int zhg_entrance(char mima[],char prompt[]);
void zhg_information(char Date[]);
char Date[]={"2006.5.20"};
void main()
{
int i,j,fan,a[M],b[N];
char panduan,mima[]={"87343609"},prompt[]={"dianmi"};
fan=zhg_entrance(mima,prompt);
if(fan==0)
goto over;
zhg_information(Date);
printf("\t\t\t Congratulations !\n");
xunhuan: printf("\t\t\t\t\t\t\t To eixt input 32767.\n\n\n\n\n");
printf(" Please input %d numbers(%%d<=32767) of a[%d] ,and %d numbers of b[%d]:\n\n\n\t\t\t",M,M,N,N);
for(i=0;i<M;i++)
{
scanf("%d",&a[i]);
if(a[i]==32767)
goto over;
if(i==M-1)
{
putchar('\n');
break;
}
}
for(j=0;j<N;j++)
{
scanf("%d",&b[j]);
if(b[j]==32767)
goto over;
if(j==N-1)
break;
}
zhg_information(Date);
printf(" You've input:\n\n a[%d]={",M);
for(i=0;i<M;i++)
printf("%d,",a[i]);
printf("\b}\n");
printf(" b[%d]={",N);
for(j=0;j<N;j++)
printf("%d,",b[j]);
printf("\b}\n\n\n");
printf(" The different elements are :\n\n");
compare(a,b);
printf("\n\n\n To CONTINUE press <Ctrl+C>. To EXIT press anyothers.");
panduan=getch();
if(panduan=='\x03')
{
zhg_information(Date);
goto xunhuan;
}
else
goto over;
over:;
}
void compare(int a[],int b[]) // 此函数用来分别挑出array1和array2中不同的数
{
int i,j,k=1;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
if(a[i]==b[j])
break;
}
if(j==N)
{
printf(" (%d):a[%d]=%d ",k,i,a[i]); // 原样输出“a[]”
if(k%3==0)
putchar('\n');
k++;
}
continue;
}
for(j=0;j<N;j++)
{
for(i=0;i<M;i++)
{
if(b[j]==a[i])
break;
}
if(i==M)
{
printf(" (%d):b[%d]=%d ",k,j,b[j]); // 原样输出“b[]”
if(k%3==0)
putchar('\n');
k++;
}
continue;
}
}
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define Maxtimes 4
int zhg_entrance(char mima[],char prompt[])
{
char password[21]; // 由此可以更改允许用户输入的密码位数,实际密码位数应当在数组mima[]赋值处更改
extern char Date[]; // 声明外部变量
int i,j;
zhg_information(Date); // 外部变量Date[]已经在主调函数外赋过值 // zhg_information有清屏功能
printf("\n\t\t\t ");
printf("Welcom to use this program !\n\n\n");
printf("\tYou are given %d times to login at most.\n",Maxtimes); // 欲更改次数可在本程序首预处理命令处进行
printf("\t\t\t\t\t\t For PROMPT,press <Ctrl+P>.\n");
printf("\t\t\t\t\t\t For EXIT,press <Ctrl+E>.\n\n\n\n\n");
printf("\t Please input the password: ");
shurumima1: i=0;
do
{
password[i]=getch();
if(password[i]=='\b')
{
putchar('\b');
i--;
}
else
{
printf("\a*");
i++;
}
}
while(password[i-1]!='\r'&&password[i-1]!='\x10'&&password[i-1]!='\x05');
{
if(password[i-1]=='\x10') // <Ctrl+P>键
{
zhg_information(Date);
printf("\n\n\n\n\t\t\tPROMPT:%s\n\n\n\n\n\n\t\tContinue : ",prompt);
goto shurumima1;
}
if(password[i-1]=='\x05') // <Ctrl+E>键
return 0; // 表示登录失败
{
password[i-1]='\0';
if( strcmp(password,mima)==0 )
return 1; // 表示登录成功
}
}
for(j=1;j<Maxtimes;j++)
{
zhg_information(Date);
printf("\n\n\t\t\t\tPassword Error !\n");
if(Maxtimes-j>1)
printf("\n\t\t\t\t%d times left !\n",Maxtimes-j);
else
printf("\n\t\t\tFor the last time.Be careful !\n");
printf("\t\t\t\t\t\t For PROMPT,press <Ctrl+P>.\n");
printf("\t\t\t\t\t\t For EXIT,press <Ctrl+E>.\n\n\n\n");
printf("\tPlease input the password again: ");
shurumima2: i=0;
do
{
password[i]=getch();
if(password[i]=='\b')
{
putchar('\b');
i--;
}
else
{
printf("\a*");
i++;
}
}
while(password[i-1]!='\r'&&password[i-1]!='\x10'&&password[i-1]!='\x05');
{
if(password[i-1]=='\x10') // <Ctrl+P>键
{
zhg_information(Date);
printf("\n\n\n\n\t\t\tPROMPT:%s\n\n\n\n\n\n\t\tContinue : ",prompt);
goto shurumima2;
}
if(password[i-1]=='\x05') // <Ctrl+E>键
return 0;
{
password[i-1]='\0';
if( strcmp(password,mima)==0 )
return 1;
}
if(j==Maxtimes-1) // 此条件比以上两个的“优先级别”低不能放在其前
{
zhg_information(Date);
printf("\n\n\n\t\t Sorry,you've tried for %d times.\n\n",Maxtimes);
printf("\t\t\t Welcom to use next time !\n\n\n\n\n");
printf("\t\tPlease press any key to quit. Thank you !");
getch();
return 0;
}
}
}
return 1; // 事实上程序运行不到这里,此处是为了避免编译的警告
}
#include<stdio.h>
#include<conio.h>
void zhg_information(char Date[])
{
int i;
clrscr();
printf("\n\t\t\t All Rights Reserved !!!\n");
printf(" Wuhan University\t\t\t\t\t\t----Author: zhg\n");
printf(" E-mail: wudazhg@163.com%55s\n",Date);
for(i=1;i<=80;i++)
putchar('-');
putchar('\n');
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -