2013-06-01 7 views
2

je dois générer des nombres aléatoires de 1 à 100 et je sais comment faire partie ...Générer des nombres aléatoires 1-100

J'ai besoin de demander à l'utilisateur combien de chiffres qu'il veut générer (si, dit-il 5 le programme doit générer 5 nombres de 1 à 100). Je seulement maintenant comment faire un montant fixable en ajoutant de nouveaux int dans une liste.

Je l'ai fait avant, mais alors je ne pouvais pas le faire fonctionner, donc il écrirait la moyenne de ces nombres et la valeur min + max.

Voici mon code ci-dessous:

Random k = new Random(); 
//here i added in the same way other variables and put them in a list 
int j = k.Next(100); 

Console.WriteLine(""); 
double[] list1 = {j}; 
double povp = list1.Average(); 
Console.WriteLine(povp); 

Console.WriteLine(""); 
Console.WriteLine(list1.Max()); 
Console.WriteLine(""); 
Console.WriteLine(list1.Min()); 

Console.ReadKey(); 

Répondre

5

Vous pouvez utiliser le code suivant pour générer des nombres N:

IEnumerable<int> numbers = Enumerable.Repeat(1,N).Select(_ => random.Next(100)); 
+1

'100' est exclusif, alors que OP a probablement posé une question à propos de' 100' inclusivement. En outre, il est recommandé de noter le paramètre lambda '_' lorsque vous ne l'utilisez pas. Donc, je voudrais écrire '.Select (_ => random.Next (101))' –

+0

J'aime l'idée d'utiliser '_' dans ce cas - ayant commencé à apprendre Haskell. Merci pour la suggestion. – aquaraga

1
// ask user for input 
string input = Console.Readline(); 
int parsed; 
// parse to int, needs error checking (will throw exception when input is not a valid int) 
int.TryParse(input, out parsed); 

Random random = new Random(); 
List<double> list = new List<double>(); 

for(int i = 0; i < parsed; parsed++) 
{ 
    list.Add(random.Next(100)); 
} 
1
public void Main() 
     { 
      const int NUMBERS_FROM = 1; 
      const int NUMBERS_TO = 100; 

      int n = int.Parse(Console.ReadLine()); 
      Random rnd = new Random(); 
      List<int> numbers = new List<int>(); 

      for (int i = 0; i < n; i++) 
      { 
       int rndNumber = rnd.Next(NUMBERS_FROM, NUMBERS_TO + 1); 
       numbers.Add(rndNumber); 
      } 

      Console.WriteLine("Numbers : {0}",string.Join(", ",numbers)); 
     } 

cela va générer des nombres N et les ajouter à une liste et ensuite les imprimer sur la console. Je pense que c'est ce que vous cherchiez

Questions connexes