- 論壇徽章:
- 0
|
回復(fù) 1# blackgenius
呵呵,自己調(diào)出來了~- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int eva_rand(int, int, int);
- int main(int argc, char* argv[])
- {
- int arg1, arg2, arg3;
- if(argc != 4){
- printf("請輸入3個參數(shù),第一個是要產(chǎn)生的隨機數(shù)個數(shù),第二個是正數(shù)個數(shù),第三個是要產(chǎn)生的數(shù)的位數(shù)。\n");
- exit(1);
- }
- arg1 = atoi(argv[1]);
- arg2 = atoi(argv[2]);
- arg3 = atoi(argv[3]);
- eva_rand(arg1, arg2, arg3);
- return 0;
- }
- int eva_rand(int i, int j, int k) {
- int tnb, pnb;
- int rdi, rdf;
- char crdi[200];
- char crdf[200];
- char ngc[200];
- FILE *fp;
- size_t len;
- tnb = 0;
- pnb = 0;
- fp = fopen("/tmp/data","w");
- for (; tnb < i && pnb < j; tnb++, pnb++){
- //srand((int)time((time_t*)NULL));
- srand(tnb+(int)time((time_t*)NULL));
- rdi = rand();
- rdf = rand();
- sprintf(crdi, "%d", rdi);
- sprintf(crdf, "%d", rdf);
- len = strlen(crdi);
- if ( len < k){
- continue;
- }
- crdi[k] = '\0';
- crdf[3] = '\0';
- crdf[2] = crdf[1];
- crdf[1] = crdf[0];
- crdf[0] = '.';
- strcat(crdi, crdf);
- fprintf(fp, "%s ", crdi);
- if (!((tnb+1)%10)) {
- fprintf(fp, "\n");
- }
- }
- for (pnb=0 ; tnb < i && pnb < i - j; tnb++, pnb++) {
- srand(tnb+(int)time((time_t*)NULL));
- rdi = rand();
- rdf = rand();
- sprintf(ngc, "-");
- sprintf(crdi, "%d", rdi);
- sprintf(crdf, "%d", rdf);
- len = strlen(crdi);
- if ( len < k ){
- continue;
- }
- crdi[k] = '\0';
- crdf[3] = '\0';
- crdf[2] = crdf[1];
- crdf[1] = crdf[0];
- crdf[0] = '.';
- strcat(crdi, crdf);
- strcat(ngc, crdi);
- fprintf(fp, "%s ", ngc);
- if (!((tnb+1)%10)) {
- fprintf(fp, "\n");
- }
- memset(ngc, 0x00, sizeof(ngc));
- }
- fclose(fp);
- return 0;
- }
復(fù)制代碼 |
|