當前位置:首頁 » 編程語言 » c語言7位數彩票
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言7位數彩票

發布時間: 2022-07-28 08:19:35

❶ 我用c語言編了一個產生一組33選7彩票的程序。有點問題,求助

for循環要改成下面這樣:
for(i = 0; i < 6; i++) {
a[i+1] = ((rand() % 33) + 1);
printf("第%d個數第%d次是%d\n",(i + 2),n,a[i+1]);
for(j = 0; j <= i; j++) {
if(a[i + 1] == a[j]) {
break; //跳出這層for 不循環完。
}
} //在 for 外面來判斷有沒有相同的。
if (i < j) { //如果比到a[0]都不重復,n等於1. 等待下次計數。
n = 1;
}
else
{
i--;
n++; //和前面的數重復,重新產生本數,n+1.
}
}

❷ C語言編程 很急!!!星期二要

懸賞100分
我馬上就做~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.一般不會出現各個位重復出現的數字超過3個。
2.一般不會出現各個位的數字累加之和不在10~40之間。
3.一般不會出現超過連續2個位數相同。
4.一般不會出現5個以上位數的數字都是奇數或者偶數。
5.一般不會出現5個以上位數的數字都大於5.
6.一般不會出現5個以上位數的數字都小於5.
就是6個子問題~~~
耐心一些~~

❸ 用c語言編寫。 列印一張7位數的隨機彩票,數字在1到36之間,且不能有重復數字。

這里說個大概啊 然後你自己實現 首先設定隨機數0-1函數啊 其次設定范圍 也就是乘以36 然後就是四捨五入 之後是防止數據相同 加油 祝成功?

❹ c語言彩票兌獎程序

#include<stdio.h>
voidmain()
{
inta[]={1,2,3,4,5,6,7};
intb[7],i,j,count=0,max=0,maxflag;
for(i=0;i<7;i++)
scanf("%d",&b[i]);
i=0;
while(i<7)
{
j=0;
count=0;
if(b[i]==a[j])
while(i<7&&j<7&&b[i]==a[j])i++,j++,count++;
else
i++;
if(max<count){max=count;maxflag=i;}
}
count=max;
if(count==7)printf("特等獎 ");
elseif(count==6)
{
if(maxflag==7)
printf("二等獎 ");
else
printf("一等獎 ");

}
elseif(count==5)
{
if(maxflag==7)
printf("三等獎 ");
else
printf("二等獎 ");
}
elseif(count==4)
{
if(maxflag==7)
printf("四等獎 ");
else
printf("三等獎 ");
}
elseif(count==3)
{
if(maxflag==7)
printf("五等獎 ");
else
printf("四等獎 ");
}
elseif(count==2&&maxflag!=7)
printf("五等獎 ");
else
printf("沒中獎 ");

}

❺ 用c語言編寫體育彩票10選7(7個號碼可以重復)的程序,哪位幫幫忙

在vc下是用不了的;
好像vc沒有random函數。
#include "stdlib.h" /*調用隨機函數*/
main()
{
int i,n,j;
clrscr();/*清屏*/
printf("please input the groups: \n");
scanf("%d",&n);
j=n+1;
while(n)
{
randomize(); /*初始化隨機數產生器*/
printf("the %3d groups: ",j-n);
for(i=1;i<8;i++)
printf("%d ",random(10)); /*產生0到(10-1)之間的隨機數*/
printf("\n");
n--;
getch();
}
}

❻ 7位數彩票 C語言

不涉及彩票,就程序而言,

第1種情況是 可將7位數與10的取模....然後保存在一個數組中,要比較三個數相等的,要3條if判斷,12/13/23如相等則為真,有35個組合.(123/124/125....127/234/235/....237/.....)就是說要將123三個數抽象為一個函數A,再調用35次.

第2種各位的總和少於40大於10, 可將7位數與10的取模....然後保存在一個數組中.再求sum

第3種情況和第1種情況類似而且簡單多了.

第4種情況,在數組中設這奇數和偶數的標志i和j,當i和j=5時......

第5和6種情況,同樣在在數組中比較數字 是否大於或小於5的數,設的標志i和j,當i和j=5時.....

❼ C語言隨機彩票問題

看著你邏輯挺亂的,我就動手自己寫了一個。

共同學習。

#include<stdio.h>
#include<time.h>

intmain()
{
intarr[7]={0};
intindex=0;
intflag=0;
srand((unsigned)time(NULL));
for(index=0;index<7;index++)
{
intt;
intj=0;
while(1) //死循環,只有當flag為0,即不重復時才退出
{
flag=0;
t=rand()%36+1;
for(j=0;j<index;j++) //for循環,變數當前arr數組中的元素
if(arr[j]==t) //如果存在重復的
{
flag=1; //則標記flag變數為1
break;
}
if(!flag) //如果flag==0則退出while死循環
break;
}
arr[index]=t; //存入數組
printf("%d",arr[index]); //輸出到界面
}
printf(" ");
return0;
}

❽ C語言 實現模擬彩票的程序設計:隨機產生7個數字(用C語言隨機函數產生,[1,33]區間,七個數互

使用結構體鏈表模擬彩票的搖獎機,來保證每次隨機都是不同的數字。

數組也可以模擬,但是刪除元素比較麻煩,用鏈表更快捷。

定義數組指針,動態分配內存。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedefstructList{
intnumber;
structList*next;
}ArrayList;
ArrayList*createList(int);//創建鏈表,參數是鏈表的節點數
voidfreeList(ArrayList*);//循環釋放所有節點的內存
intdeleteNode(ArrayList*,int);//刪除節點,返回節點的數據
main(){
//動態創建內存
int*numbers=(int*)calloc(7,sizeof(int));
int*inNumbers=(int*)calloc(7,sizeof(int));
//動態創建數組鏈表存放1-33個編號
ArrayList*balls=createList(33);
inti;
srand((unsigned)time(NULL));
printf("請輸入7個不同的數字(1-33): ");
for(i=0;i<7;i++){
*(numbers+i)=deleteNode(balls,rand()%(33-i));
scanf("%d",inNumbers+i);
}
printf("隨機產生的7個數字是: ");
for(i=0;i<7;i++){
printf("%d",*(numbers+i));
}
printf(" 相同的數字: ");
//查找
intj;
for(i=0;i<7;i++){
for(j=0;j<7;j++){
if(*(numbers+i)==*(inNumbers+j)){
printf("%d",*(numbers+i));
break;
}
}
}
//釋放內存
free(numbers);
free(inNumbers);
freeList(balls);
}
ArrayList*createList(intn){
ArrayList*head=NULL,*end=NULL,*node=NULL;
end=head=(ArrayList*)malloc(sizeof(ArrayList));//head在刪除和插入節點時有用。不能刪除head,也不能插入到head前面
inti;
for(i=1;i<=n;i++){
node=(ArrayList*)malloc(sizeof(ArrayList));
node->number=i;
end->next=node;
end=node;
}
end->next=NULL;
returnhead;
}
voidfreeList(ArrayList*head){
ArrayList*node=head;
while(head!=NULL){
head=head->next;
free(node);
node=head;
}
}
intdeleteNode(ArrayList*head,intindex){//index節點索引(0-32),返回被刪除的球的編號
ArrayList*node=head->next,*temp=head;
inti=0,number;
while(i<index&&node!=NULL){
temp=node;
node=node->next;
i++;
}
if(node!=NULL){
number=node->number;
temp->next=node->next;
free(node);
}
returnnumber;
}

運行結果

❾ 彩票 36選7程序怎麼編寫

#include <stdio.h>
#include <stdlib.h>

void main()
{
int result[7] = {0};
int num = 0;
int i = 0;
srand((unsigned)time(0));//初始化隨機種
while (i < 7)
{
int j = 0;
num = rand() % 36 + 1;//得到1-36的隨機數
/* 判斷是否已經存在 */
while (j < 7)
{
if (result[j] == num)
{
break;
}
j++;
}
/* 如果不存在保存數字 */
if (j == 7)
{
result[i] = num;
i++;
}
}
i = 0;
/* 列印 */
while (i < 7)
{
printf("%d \n",result[i++]);
}
}