|
|
|
|
Salut,
j'ai écrit ce code qui me permet d'avoir 3 chiffres compris entre 0 et 99 de façon aléatoire.
Je voudrais savoir comment faire pour que le chiffre 100 puisse être pris en compte or avec mon code, ce n'est pas le cas.
Merci
Code :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
val1 = rand()%100;
val2 = rand()%100;
val3 = rand()%100;
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
}
Salut,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
//Pour avoir des nombres a>=0 et b<=100
val1 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
val2 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
val3 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
}
Le problème est que j'obtiens ceci : aleatoire.c: In function ‘main’: aleatoire.c:14: attention : débordement d'entier dans l'expression aleatoire.c:15: attention : débordement d'entier dans l'expression aleatoire.c:16: attention : débordement d'entier dans l'expression |
Salut,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
val1 = rand()%101;
val2 = rand()%101;
val3 = rand()%101;
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
} et 100 va sortir, aussi 0. J'ai testé.
lami20j |
Tu veux un tirage aléatoire ou afficher tous les chiffres de 1 à 100 ?
int main()
{
int i=1;
while (i < 101)
{
printf("%d ",i);
i++;
}
return 0;
} Ca te les affichera tous à la suite ... Tu peux introduire des sauts de ligne avec \n dans le printf.
T'as pensé à regarder sur Google avant de poser ta question ? |
Salut!
|
Salut, antoine03
|
Voici donc un prog que tu peux recopier, et qui t'affichera 1 nombre au hazard de entre 1 et 100, et un autre entre 1 et 3.
|
Répondre à antoine03
|