急急急!!!高分求助,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表单页面???急急急