Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1215963
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: C/C++

2012-11-28 14:12:23

自己写着玩的,一个通过输入一个整形数字,来产生一串3个四位的10进制数字
比如:./a.out 1000
显示:1232 2512 0123(是这个形式,但是值不一定对,每次输入1000都会产生这个对应的数字)

tips:
sprintf(p+strlen(p),"%04d \n",j);
一、代表在p前移动stlen(p)个单位之后,再写入,即在字符串p的后面加入
二、%04d  代表输出指定显示四位,不足补0
====================================================================================
#include 
#include 

int random(unsigned int i,char *p)
{
    unsigned int j;
    if(p == NULL){
        printf("p must not be NULL\n");
        return -1;
     }

    srand(i);
    j = rand()%10000;
    sprintf(p,"%04d \t",j);

    i = i+j;
    srand(i);
    j = rand()%10000;
    sprintf(p+strlen(p),"%04d \t",j);

    i = i+j;
    srand(i);
    j = rand()%10000;
    sprintf(p+strlen(p),"%04d \n",j);
    puts(p);
    return 0;
}


int main(int argc, char *argv[])
{
    unsigned int k;
    char buf[1024]={0};

    k = atoi(argv[1]);
    random(k,(char *)&buf);
    puts(buf);
    return 0;
}

阅读(1377) | 评论(0) | 转发(0) |
0

上一篇:windows下的dos

下一篇:linux中内核延时编程

给主人留下些什么吧!~~