❶ c#編譯一個1~32隨機選取4個數字,但要求4個數字都不相同,求相應的代碼
我是添加了一個TextBox控制項名為textBox1用來顯示隨機取得的4個數字;你也可以改為RichTextBox顯示
textBox1.Text = "";
ArrayList result = new ArrayList();//用來存放隨即取得的數
Random r = new Random();
for (int i = 0; i < 4; i++)
{
int a = r.Next(1, 33);//存放隨機取得的數
if (i != 0) // 為了第一次隨機不進行比較
{
if (a == Convert.ToInt32(result[i - 1])) //比較本次隨機的數是否與上一次相等
{
i--;
continue;
}
else
result.Add(a);
}
else
result.Add(a);
}
result.Sort();//將取得的數字進行排序,為了好看
//顯示取得的4個數
for (int i = 0; i < 4; i++)
{
textBox1.Text += result[i] + "\t";
}
❷ 如何用C語言產生1~35之間的7個不同隨機數(在VC++6.0里編譯),非常感謝!
代碼如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//產生一個min~max之間的數,包含min,max
intrand(intmin,intmax)
{
returnrand()%(max-min+1)+min;
}
intmain()
{
srand((unsignedint)time(NULL));
//定義一個數組,存放產生的7個隨機數
intnumbers[7];
for(inti=0;i<7;i++)
numbers[i]=rand(1,35);
//輸出
for(inti=0;i<7;i++)
printf("%d",numbers[i]);
printf(" ");
system("pause");
return0;
}
❸ 用java編譯列印隨機產生的電話號碼,其形式為XXX-XXX-XXXX 前三個數字中不應有8和9,中間的值不應大於742。
package test;
import java.text.DecimalFormat;
public class Test {
public static void main(String args[]) {
String result = "";
for(int i = 1;i <= 3;i++){//前3個,隨即數1-7
result = result + Integer.toString((int)(Math.random() * 8));
}
DecimalFormat a = new DecimalFormat("0000000");//隨機到非7位數時前面加0
result = result + a.format((int)(Math.random() * 4720001));//隨機數0-4720000
System.out.println(result);
}
}
❹ 用隨機函數,編譯、運行多次都得到同樣的數
void main()
{
srand(time(NULL));//獲取隨即因子 用時間做因子 可以保證每次隨即數的不確定性 如果去掉 每次運行程序都會是相同的隨機數
for (int i=0;i<10;i++)
{
printf("%d\n",rand()%100);//rand()%100是求出100以內的隨機數 rand()%10 就是10以內了 如果只寫rand() 也是可以的 但是 數一般都比較大
}
}
❺ 幫忙編一個C++程序吧,著急用,最好可以編譯運行,萬無一失的。1-100的隨機數,選9個吧,
我來做……
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdlib.h"
#include<fstream>
#include<iostream>
#include"time.h"
usingnamespacestd;
intmain(void){
inti,j,k,a[10];
ofstreamfout("Sort_array.txt");
if(!fout){
cout<<"Openthefilefailure... ";
exit(0);
}
srand((unsigned)time(NULL));
for(i=0;i<9;a[i++]=rand()%100+1);//生成隨機數
for(i=0;i<8;i++){//升序排序
for(k=i,j=k+1;j<9;j++)
if(a[k]>a[j])
k=j;
if(k-i)
j=a[k],a[k]=a[i],a[i]=j;
}
cout<<"TheMAXis"<<a[8]<<endl;//輸出最大者
cout<<"Pleaseenteraninteger... k=";
cin>>k;
for(i=8;i>0;i--){//插入一個數仍有序
if(k>=a[i]){
a[i+1]=k;
break;
}
a[i+1]=a[i];
}
if(!i)
a[0]=k;
for(i=0;i<9;i++){//存文件
fout<<a[i]<<'';
cout<<a[i]<<'';
}
fout<<a[i]<<endl;
fout.close();
cout<<a[i]<<" ";
return0;
}