#include <stdio.h>
#include <time.h>
#include <string.h>
void main( void )
{
int i,n;
int nTmp = 0;//临时存放rand()取得的值
static int nIndex = 0;//用来做数组索引
char szBuffer = {0}; //待加密字串
char szEncrypt = {0}; //存放加密结果
int* pAry = NULL;
int nLen = 0;
printf("Input string:");
scanf("%s",szBuffer); //输入
nLen = strlen(szBuffer);
pAry = (int*)malloc(nLen*sizeof(int)+1); //申请一个动态长度的数组
if (NULL == pAry)
{//是否申请空间失败
printf("error\r\n");
return;
}
memset(pAry,-1,nLen*sizeof(int));//初始化为-1,为了方便区分
srand( (unsigned)time( NULL ) );//用时间做随即种子
for (n = 0; n < nLen; n++) //控制取nLen个数字
{
while(1)
{
nTmp = rand()%nLen;//使数在0-nLen间
for(i=0; i<=nLen; i++)
{//判断数字是否存在
if(pAry == nTmp) break;
}
if(i == (nLen+1)&& pAry != nTmp)
{//如果不存在则..
pAry = nTmp;
szEncrypt = szBuffer;
nIndex++;
break;
}
}
}
/* Display . */
printf("key:");
for( n = 0; n < nLen; n++ )
printf("%d,",pAry);
printf("\r\nEncrypt Result:%s\r\n",szEncrypt);
system("pause");
} **** Hidden Message *****
稍后我会把乱序给补上
[ 本帖最后由 ourui314 于 2009-6-7 02:37 编辑 ] 居然用了我近3个小时。年纪大,脑子不好使了。/:L
**** Hidden Message ***** 我对个问题还没有搞定. 基础太差了,没机会学下去,看一下 做的好混乱,指针心里总不敢碰,还是对C的一些东西了解不够。代码是太冗长了。
**** Hidden Message *****
高考终于结束了,把作业提交了(第一个)
main(){int a;
int i,c;
for(i=0;i<3;i++)
scanf("%d",&a);
for(i=0;i<3;i++)
if (a>a)
{c=a;
a=a;
a=c;
}
for(i=0;i<3;i++)
printf("%d",a);
} 看看大家都在学什么