How to generate 8 digit random number convert the number to string and print the digits with character separator in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
  
#define N 100
  
int main(void)
{
    srand((unsigned)time(NULL));
	
	long x = 11111111;
	long y = 99999999;
	char s[11];
	for (int i = 0; i < N; i++) 
	{
		sprintf(s, "%ld", rand() % (y - x + 1) + x);
		printf("%c%c . ", s[0], s[1]); 
		printf("%c%c%c%c . ", s[2], s[3], s[4], s[5]); 
		printf("%c%c\n", s[6], s[7]); 
	}
     
    return 0;
}

 
 
/*
run:
 
11 . 1291 . 09
11 . 1127 . 25
11 . 1323 . 77
11 . 1372 . 65
11 . 1197 . 26
11 . 1229 . 05
11 . 1245 . 85
11 . 1203 . 69
11 . 1417 . 86
11 . 1321 . 72
11 . 1311 . 07
11 . 1333 . 23
11 . 1231 . 95
11 . 1341 . 13
11 . 1347 . 83
11 . 1238 . 11
11 . 1226 . 75
11 . 1325 . 40
11 . 1249 . 02
11 . 1381 . 90
11 . 1387 . 06
11 . 1289 . 61
11 . 1224 . 84
11 . 1186 . 65
11 . 1158 . 89
11 . 1403 . 37
11 . 1147 . 48
11 . 1367 . 47
11 . 1170 . 21
11 . 1129 . 50
11 . 1373 . 56
11 . 1178 . 48
11 . 1212 . 08
11 . 1389 . 40
11 . 1368 . 19
11 . 1270 . 96
11 . 1371 . 81
11 . 1204 . 51
11 . 1137 . 93
11 . 1401 . 35
11 . 1249 . 31
11 . 1398 . 90
11 . 1141 . 26
11 . 1396 . 30
11 . 1199 . 08
11 . 1242 . 07
11 . 1423 . 97
11 . 1165 . 95
11 . 1184 . 30
11 . 1272 . 12
11 . 1218 . 58
11 . 1291 . 32
11 . 1185 . 53
11 . 1127 . 72
11 . 1393 . 62
11 . 1287 . 94
11 . 1371 . 94
11 . 1369 . 02
11 . 1161 . 54
11 . 1331 . 07
11 . 1389 . 99
11 . 1392 . 80
11 . 1261 . 47
11 . 1268 . 16
11 . 1237 . 40
11 . 1111 . 37
11 . 1421 . 00
11 . 1393 . 04
11 . 1111 . 18
11 . 1121 . 68
11 . 1364 . 25
11 . 1428 . 92
11 . 1386 . 86
11 . 1170 . 24
11 . 1362 . 26
11 . 1211 . 74
11 . 1428 . 49
11 . 1142 . 72
11 . 1435 . 03
11 . 1159 . 16
11 . 1335 . 49
11 . 1434 . 70
11 . 1426 . 98
11 . 1429 . 53
11 . 1393 . 98
11 . 1362 . 13
11 . 1393 . 01
11 . 1132 . 61
11 . 1372 . 42
11 . 1315 . 11
11 . 1240 . 07
11 . 1411 . 71
11 . 1310 . 49
11 . 1415 . 40
11 . 1355 . 05
11 . 1307 . 24
11 . 1353 . 69
11 . 1398 . 18
11 . 1198 . 13
11 . 1362 . 35
 
*/

 



answered Apr 26, 2016 by avibootz

Related questions

1 answer 198 views
198 views asked Apr 26, 2016 by avibootz
1 answer 97 views
1 answer 197 views
1 answer 137 views
1 answer 153 views
1 answer 321 views
1 answer 147 views
...