产生在两个不同范围内的一个随机数

如何产生一个随机数,要求这个随机数在1~10或者20~30之间

rand()%10+1
rand()%11+20


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    int a = 0;
    int b = 0;
    srand((unsigned)time(NULL));
    a = rand() % 10 + 1;
    b = rand() % 11 + 20;
    printf("%d\n", a);
    printf("%d\n", b);
    return 0;
}

https://blog.csdn.net/weixin_61661271/article/details/123741988?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166807864416800184148653%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166807864416800184148653&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~top_click~default-2-123741988-null-null.nonecase&utm_term=c%E8%AF%AD%E8%A8%80%E7%94%9F%E6%88%90%E9%9A%8F%E6%9C%BA%E6%95%B0&spm=1018.2226.3001.4450?%%E6%8E%A8%E8%8D%90%E7%9C%8B%E7%9C%8B%E8%BF%99%E7%AF%87