急急急!!!高分求助,C语言(C#,ASP.NET)写1至7随机4位数字组合,顺序不限,满意加分,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急急急!!!高分求助,C语言(C#,ASP.NET)写1至7随机4位数字组合,顺序不限,满意加分,相关的知识,希望对你有一定的参考价值。

C++语言实现版本,和C语言是通用的,用的也是C的库,用C++的输入输出流更方便点,你用C的话把输入输出改改就行了!

看了所有的问题,这应该是你想要的,贴上代码!

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;

/*
**  功能:随机产生4位数字,每位的数字保证在1到7之间
**  说明:调用该函数前,先调用下srand函数,因为该函数内部调用的rand函数
*/
unsigned getRandomNum()

    unsigned num = 0;
    int i;
    for (i=0; i<4; i++)
    
        num *= 10;
        num += rand()%7+1;
    
    return num;


int main()

    srand(time(0));

    unsigned number, randNum;
    cout << "Please enter a number, the number does not allow more than four, each value between 1 to 7!" << endl;
    cin >> number;
    cout << "Was generating Numbers you want, please wait..." << endl;

    //直到产生和输入的数字相同时循环结束!如果输入不正确会陷入死循环的,没有写检错功能
    while(1)
    
        randNum = getRandomNum();
        //cout << randNum << " ";
        if (number == randNum)
        
            cout << "Your input number was found!" << endl;
            break;
        
    

    return 0;

参考技术A #include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;

int main()

srand((int)time(0));
int a,b,c,d;
//for(int i=0;i<5;i++)
a=rand()%6+1;

b=rand()%6+1;
c=rand()%6+1;
d=rand()%6+1;
cout<<a<<b<<c<<d<<endl;
return 0;

结果如下:
6351
1334
2516
1131
参考技术B o(︶︿︶)o 唉,在短时间内产生多个随机数以前还真没用过,srand以时间做种子似乎就不起作用了,在一个循环里产生的随机数都一样,不过如果把time和i的和作为种子似乎就解决了这个问题

1 #include<stdio.h>
2 #include<time.h>
3 int main(void)
4 int a;
5 char b;
6 char arr[5]=;
7 int i=0;
8 while(i<4)
9 srand((unsigned)time(NULL)+i); //种子为time()+i
10 a=rand()%10;
11 if(i==0&&a==0)
12 continue;
13 b='0'+a;
14 arr[i]=b;
15 i++;
16
17 printf("%s\n",arr);
18
结果:
6635
6354
5476
6291
参考技术C     /// <summary>
    /// Page_Load
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
    protected void Page_Load(object sender, EventArgs e)
    
        Response.Write(GetRandomNum(4, 1, 7));
    

    /// <summary>
    /// 获取指定区间指定个数的随机数
    /// </summary>
    /// <param name="rdSum">个数</param>
    /// <param name="minNum">区间下限</param>
    /// <param name="maxNum">区间上限</param>
    /// <returns></returns>
    protected string GetRandomNum(int rdSum,int minNum,int maxNum)
    
        StringBuilder result = new StringBuilder();
        Random rd = new Random();

        for (int i = 0; i < rdSum; i++)
        
            result.Append(rd.Next(minNum, maxNum));
        

        return result.ToString();
    


输出结果:5155


若是要两组数据对比,使用两重循环即可!


希望我的回答能够为你提供帮助,望采纳!

追问

谢谢,看到你的回答有一点头绪,就是我希望输出的是4个不一样的数学,另外自己在窗口上输入一组4位数,对比与随机输出数字的相同的一组,请问如果是你会怎么处理?

追答

若是要两组数据对比,使用两重循环即可!

随机数最后也是一组固定的数字,另一组也是固定的数字。两组固定的数字进行对比,通过两重循环判断对比数值即可。

    /// <summary>
    /// 对比两组数据的值,数组也可作为参数传递进来
    /// </summary>
    /// <returns></returns>
    protected string CompareValue()
    
        int[] myNumList =  1, 2, 3, 4 ;
        int[] rdNumList =  5, 5, 1, 5 ;
        ArrayList resultList = new ArrayList ();
        StringBuilder result= new StringBuilder ();

        for (int i = 0; i < myNumList.Length; i++)
        
            for (int j = 0; j < rdNumList.Length; j++)
            
                if (myNumList[i] == rdNumList[j])
                
                    resultList.Add(myNumList[i]);
                
            
        

        foreach (int i in resultList)
        
            result.Append(i.ToString());
            result.Append(",");
        

        result.Remove(result.Length - 1, 1);

        return result.ToString();
    


输出结果为1


这个函数没有去重,若myNumList里面存在重复的数字,则刚好该数字在rdNumList里面也含有,那么在结果中会输出多个。譬如1255 + 5515 = 155


希望我的回答能够为你提供帮助,望采纳!

参考技术D 如果C#的话,使用产品随机数的类Random
参考资料:http://www.cnblogs.com/wy/articles/118620.html追问

最好是C语言,要是在窗口上输入4位数字,与随机数字对比,找出一样的组合,请问是你的话会怎么处理?

追答

首先接收你输入的4位数字,然后写出产生随机数的方法,再将你产生的随机数进行拆分,接着用输入的4位数字与拆分的随机数进行匹配,若随机数中的数字与你输入的相同,将其打印出来。
C随机数参考资料:http://www.cnblogs.com/youxin/archive/2012/04/25/2470183.html

关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。

(问题原题如下,知道任何一题都可回答)(回答的好一题加100分)谢谢。。。。。 链表(每一功能用一函数实现): 1.先建立两个有序的单链表,再将其合并成一个有序的单链表。。 2.先建立一若干个结点构成的单链表,统计其中数据域值为x的结点的个数,再对该单链表进行复制。。。。。

参考技术A #include
<iostream>
using
namespace
std;
struct
NODE

int
data;
NODE
*next;
;
void
dataAdd(NODE
*(&list),int
data)
//在链表尾增加一个新的节点

NODE
*newNode,*p;
newNode=new
NODE;
newNode->data=data;
p=list;
if(!p)
//如果list为空,头结点赋值为当前值

list=newNode;
list->next=NULL;
return
;

while(p->next)

p=p->next;

p->next=newNode;
newNode->next=NULL;

void
inputData(NODE
*(&list))

int
data;
cin>>data;
while(!cin.fail())

dataAdd(list,data);
cin>>data;

cin.clear();
cin.sync();

int
lastData(NODE
*list)

NODE
*p=list;
if(!p)

return
-1;

while(p->next)

p=p->next;

return
p->data;

void
sortList(NODE
*(&list))

NODE
*p,*q;
p=list;
int
temp;
while(p->next)

q=p->next;
while(q)

if(p->data>q->data)

temp=p->data;
p->data=q->data;
q->data=temp;

q=q->next;

p=p->next;


void
combination(NODE
*list1,NODE
*list2,NODE
*(&list3))

NODE
*p=list1;
NODE
*q=list2;
while(p
&&
q)

if(p->data
<
q->data
)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;

else
if(p->data
>
q->data)

if(lastData(list3)!=q->data)
dataAdd(list3,q->data);
q=q->next;

else
if(p->data
==
q->data)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;
q=q->next;


while(p)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;

while(q)

if(lastData(list3)!=q->data)
dataAdd(list3,q->data);
q=q->next;


void
showList(NODE
*list)
//显示链表中的数据

NODE
*p;
p=list;
while(p)

cout<<p->data<<'
';
p=p->next;

cout<<endl;

int
main()

NODE
*list1=NULL,*list2=NULL;
cout<<"请输入链表1的数据,非数字字符为结束符!"<<endl;
inputData(list1);
sortList(list1);
//list1排序
//showList(list1);
cout<<endl;
cout<<"请输入链表2的数据,非数字字符为结束符!"<<endl;
inputData(list2);
sortList(list2);
//list2排序
NODE
*list3=NULL;
cout<<"list1和list2的并集为:"<<endl;
combination(list1,list2,list3);
showList(list3);
cout<<endl;
return
0;

以上是关于急急急!!!高分求助,C语言(C#,ASP.NET)写1至7随机4位数字组合,顺序不限,满意加分,的主要内容,如果未能解决你的问题,请参考以下文章

关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。

关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。

跪求高手指教ASP.NET内容页中添加一个.HTML表单页面???急急急

vc6.0编程如何在程序内模拟鼠标键盘操作?(急急急,在线高分等待)

(急急急)ASP.NET网页中,如何播放MP3音乐文件?

急急急,C#中提示错误“常量中有换行符”