boy 发表于 2009-6-6 11:31:49

#include <stdlib.h>
#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");
}

ourui314 发表于 2009-6-7 02:16:41

**** Hidden Message *****
稍后我会把乱序给补上

[ 本帖最后由 ourui314 于 2009-6-7 02:37 编辑 ]

sswater 发表于 2009-6-7 02:47:00

居然用了我近3个小时。年纪大,脑子不好使了。/:L

**** Hidden Message *****

wanap571 发表于 2009-6-7 08:03:34

我对个问题还没有搞定.

youcn28 发表于 2009-6-7 10:33:36

基础太差了,没机会学下去,看一下

moodykeke 发表于 2009-6-8 16:14:34

做的好混乱,指针心里总不敢碰,还是对C的一些东西了解不够。代码是太冗长了。
**** Hidden Message *****

kaikai760211 发表于 2009-6-10 08:15:01

高考终于结束了,把作业提交了(第一个)

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);
       
}

hqsfang 发表于 2009-8-31 10:52:39

看看大家都在学什么
页: 1 2 3 [4]
查看完整版本: 视频9(02_02)中作业提交帖