Ratkaistu: satunnaisluku välillä 2 C

Viimeisin päivitys: 09/11/2023
Kirjoittaja: C SourceTrail

Luodaan satunnaislukuja välillä 2 C-ohjelmointikielellä

Satunnaislukujen generointikyky voi olla kriittinen tietyntyyppisissä tietokoneohjelmointitehtävissä, erityisesti algoritmien suunnittelussa tai silloin, kun tarvitaan simulointia. Tässä artikkelissa perehdymme C-ohjelmoinnin perustavanlaatuiseen osa-alueeseen, joka on satunnaislukujen generointi. Oletamme, että sinulla on perustiedot C-ohjelmointikielestä. C on tehokas yleiskäyttöinen kieli joka antaa ohjelmoijille enemmän hallintaa ja tehokkuutta, mikä on erinomainen ohjelmointiin matalalla tasolla

Olet luultavasti täällä, koska tarvitset ratkaisun satunnaisluvun luomiseen välillä 2 C:ssa. Tämä on olennainen tekniikka, erityisesti peleissä ja tilanteissa, joissa sinun on simuloitava ohjelmiesi arvaamattomuutta. Sukeltakaamme sisään.

Ratkaisun ymmärtäminen

Käsitteellisesti ajatus tuottaa satunnaisluku välillä 2 C:ssä sisältää tiettyjen kirjastotoimintojen käytön, jotka kieli tarjoaa ensisijaisesti rand() ja srand() toiminnot. rand() käytetään luomaan sarja näennäissatunnaisia ​​lukuja, mutta jotta nämä luvut eivät seuraa tunnistettavaa kaavaa, käytämme myös srand() funktio, joka siemenet satunnaislukugeneraattorin antamaan meille paremman satunnaisuuden.

Tärkeää on, että saatat joutua säätämään koodia sen alueen mukaan, johon haluat satunnaislukujen kuuluvan. Jos esimerkiksi haluat asettaa satunnaisluvun väliltä 1–2, käytät eri yhtälöä kuin silloin, kun haluat luvun väliltä 2–100.

Koodin vaiheittainen selitys

Tässä on täydellinen koodilohko satunnaisluvun luomiseksi kahden välillä käyttämällä C-ohjelmointikieltä:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() 
{
    srand(time(0));    
    int random_number = rand() % 2 + 1;    
    printf("%dn", random_number);
    return 0;
}

Puretaan koodi palalta:

  • Sisällytämme ensin tarvittavan vakiotulo-/tulostuskirjaston stdio.h ja tavallinen kirjasto stdlib.h joka sisältää rand() ja srand() toiminnot.
  • Ymmärrämme satunnaislukugeneraattorin käyttämällä srand(aika(0)). Tämä varmistaa, että saat erilaisen satunnaislukusarjan joka kerta, kun suoritat ohjelman.
  • Sitten luomme satunnaisluvun käyttämällä rand() toiminto ja moduulitoiminto % 2 + 1 rajoittaa luotujen numeroiden aluetta 1:stä 2:een.
  • Lopuksi käytämme printf tulostaaksesi satunnaislukumme konsoliin.

Syvennys: kirjastot ja toiminnot

Tässä osiossa sukeltamme syvemmälle kahteen käyttämiimme päätoimintoon, rand() ja srand(), jotka toimivat alueella stdlib.h kirjasto. Nämä toiminnot ovat korvaamattomia, kun tarvitaan satunnaislukuja. He kuitenkin luottavat näennäissatunnaiseen generaattoriin, joka tarvitsee siemensyöttöä varmistaakseen, että se ei toista samaa numerosarjaa – tilanne, joka uhmaa tavoitteemme saavuttaa satunnaisuus. The srand() toimintoa käytetään erityisesti tässä suhteessa.

Käytännössä aika (0) siemensyöttö takaa, että joka kerta kun suoritat ohjelman, näennäissatunnainen generaattori ottaa siemenen nykyisestä ajasta, joka muuttuu jatkuvasti, ja siten tulossekvenssi on joka kerta erilainen.

Related viestiä: