1. 为什么需要随机数?在数字世界的各个领域,随机数扮演着至关重要的角色。它们不仅是确保系统公平性与不可预测性的基石,也是保障数据安全、优化算法性能、模拟现实世界复杂现象的关键工具。随机数生成(Ran...
在数字世界的各个领域,随机数扮演着至关重要的角色。它们不仅是确保系统公平性与不可预测性的基石,也是保障数据安全、优化算法性能、模拟现实世界复杂现象的关键工具。随机数生成(Random Number Generation, RNG)的需求源于多个方面,包括但不限于编程实践、娱乐游戏、科学研究以及信息安全等领域。
C 语言提供了 rand() 和 srand() 函数来实现随机数生成。
rand() 函数int rand(void);rand() 函数返回一个伪随机整数。
#include
#include
#include
int main() { srand((unsigned int)time(NULL)); printf("Random number: %d\n", rand()); return 0;
} srand() 函数void srand(unsigned int seed);srand() 函数用于设置随机数种子,确保每次运行程序时生成的随机数序列不同。
#include
#include
#include
int main() { srand((unsigned int)time(NULL)); printf("Random number: %d\n", rand()); return 0;
} int min = 1;
int max = 100;
int random_number = min + rand() % (max - min + 1);float random_number = (float)rand() / (float)(RAND_MAX + 1) * (max - min) + min;#include
#include
#include
int getRandomNumber(int min, int max) { return min + rand() % (max - min + 1);
}
int main() { srand((unsigned int)time(NULL)); printf("Random number: %d\n", getRandomNumber(1, 100)); return 0;
} #include
#include
#include
int getRandomNumber(int min, int max) { return min + rand() % (max - min + 1);
}
int main() { srand((unsigned int)time(NULL)); printf("Random number: %d\n", getRandomNumber(1, 100)); return 0;
} rand() 函数生成的随机数序列是伪随机数序列,即在一定时间内可以预测。srand() 函数时,最好使用当前时间作为种子,以避免生成重复的随机数序列。#include
#include
#include
#include
void generateRandomPassword(char *password, int length) { const char charset[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; if (length) { for (int n = 0; n < length; n++) { int key = rand() % (int)(sizeof(charset) - 1); password[n] = charset[key]; } password[length] = '\0'; }
}
int main() { srand((unsigned int)time(NULL)); char password[10]; generateRandomPassword(password, 10); printf("Random password: %s\n", password); return 0;
} #include
#include
#include
int main() { srand((unsigned int)time(NULL)); printf("Random number: %d\n", rand()); return 0;
} 通过以上内容,相信您已经对 C 语言概率编程有了更深入的了解。希望这些知识能帮助您在编程实践中更好地运用随机数,为您的项目带来更多的可能性和趣味性。