自己写着玩的,一个通过输入一个整形数字,来产生一串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;
}
阅读(1422) | 评论(0) | 转发(0) |