//#include<iostream.h>
#include<stdlib.h>
#define ALLOCATE 1000
#define INCREMENT 1000000
int main()
{FILE *fp;
char *a=(char *)malloc(sizeof(char)* ALLOCATE );
char *p;
long i=0,k,j,size=ALLOCATE;
char c,ch='y',h1;
fp=fopen("2.avi","rb");
if(!fp)
{printf("can not open the file/n");
exit(-1);}
while(ch=='y')
{printf("请输入密码:");
scanf("%i",&j);
if(j==123)
{
srand(j);
c=fgetc(fp);
while(!feof(fp))
{
if(i==size)
{
p=(char *)malloc(sizeof(char)*(size+INCREMENT));
for(k=0;k<size;k++)
p[k]=a[k];
a=p;
size=size+INCREMENT;
}
h1=rand();
h1=h1^c;
a[i]=h1;
i++;
c=fgetc(fp);
}//endwhile(!feof(fp))
fp=fopen("2.avi","wb");
for(k=0;k<=i-1;k++)
fputc(a[k],fp);
printf("解密完成!/n");
fclose(fp);
delete a;
exit(1);
}//end if(j==123)
else
{
//cout<<"密码错误!!是否继续尝试(y/n):";
//ch=getchar();
printf("密码错误!!是否继续尝试(y/n):");
//cin>>ch;
//scanf("%c",&ch);
scanf("%s",&ch);
}
}
system("PAUSE");
return 0;
}
0 0 0 4 0 10 0 0 0一
0 0 3 0 9 0 15 0 0二
0 2 0 8 0 14 0 20 0三
1 0 7 0 13 0 19 0 25四
0 6 0 12 0 18 0 24 0五
0 0 11 0 17 0 23 0 0六
0 0 0 16 0 22 0 0 0七
0 0 0 0 21 0 0 0 0 八
0 0 0 0 0 10 0 0 0一
0 0 3 16 9 22 15 0 0二
0 0 20 8 21 14 2 0 0三
0 0 7 25 13 1 19 0 0四
0 0 24 12 5 18 6 0 0五
0 0 11 4 17 0 23 0 0六
0 0 0 0 0 0 0 0 0七
0 0 0 0 0 0 0 0 0 八
void main()
{
int i,j,x,y;
int a[9][9]={0};//总数组.
int hang=4,lie=0;//行和列
int ljq1=0;//计数器
int k=1;//赋值的累加
do //输入模块 混合调整模块
{//调度算法
a[hang][lie]=k;//保障赋值.从1到n^2
ljq1++;
if (ljq1==5) //计数器归零.想办法跳转.
{
hang+=5;
lie-=3;
ljq1=0;
k++;
continue;
}
hang--;
lie++;
k++;
{
for (lie=0;lie<9;lie++)
{
printf("%d/t",a[hang][lie]);
}
printf("/n");
}//end a数组输出模块
printf("123/n");
//调整模块
//列调整一
for (i=0;i<3;i++)
{
for (j=2;j<8;j++)
{
if (0==a[i][j]) continue;
else{
printf("3/n");
for (x=6;x>1;x++)
{ printf("*/n");
if (a[j][x]==0)
{
a[j][x]=a[i][j];
}
}
}
}
}
printf("13/n");
//列调整二
for (i=7;i<9;i++)
{
for (j=2;j<8;j++)
{
if (0==a[i][j]) continue;
else{
for (x=6;x>1;x++)
if (a[j][x]==0)
{
a[j][x]=a[i][j];
}
}
}
}
printf("1/n");
for(hang=0;hang<9;hang++)//a数组输出模块
{
for (lie=0;lie<9;lie++)
{
printf("%d/t",a[hang][lie]);
}
printf("/n");
}
/** for(hang=0;hang<5;hang++)//c数组输出模块
{
for (lie=0;lie<5;lie++)
{
printf("%d/t",c[hang][lie]);
}
printf("/n");
}
**/
void main()
{
static int a[10]={1,2,3,4,5,10,9,8,7,6};
int max=0,min=0,k=0,j=0,l=0,i=0;//这里有问题.
printf("the number 1 is:/n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("/n");
max=a[0];
min=a[0];
for(i=0;i<9;i++)
if(max<a[i+1])
{
max=a[i+1];
k=i+1;
}
for(j=0;j<9;j++)
if(min>a[j+1])
{
min=a[j+1];
l=j+1;
//printf("l=%d",&l);
}
a[l]=max;
a[k]=min;
printf("/nthe number2 is:/n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("/n");
}
3400



被折叠的 条评论
为什么被折叠?



