本文目錄一覽:
- 1、親,年會隨機禮物互換,如何實現1-20個數字隨機配對,看你是電腦高手跪求解答
- 2、在C語言中如何將兩個數進行互換
- 3、C語言–8人互送禮物有多少種送法?
- 4、想用C語言完成一個程序作為媽媽的生日禮物,想知道我應該怎麼進行?
親,年會隨機禮物互換,如何實現1-20個數字隨機配對,看你是電腦高手跪求解答
就是個隨機洗牌的過程,假設編號原始位置順序是1~20順序排列,你可以用隨機數每次交換任意兩個位置的編號,這樣交換n次後,可以認為順序已經是隨機的,最後指定相鄰兩個位置配對。
#includestdio.h
#includestdlib.h
#includetime.h
#define N 20
#define M 500
void main() { int a[N],i,j,k,m,n;
srand((unsigned int)time(NULL)); //設置隨機數種子,保證每次運行不出現相同結果
for ( i=0;iN;i++ ) a[i]=i+1; //數組按順序賦值編號
for ( i=0;iM;i++ ) { //洗牌M次
m=rand()%N; n=m; while ( n==m ) n=rand()%N; //保證交換的位置不重合
k=a[m]; a[m]=a[n]; a[n]=k; //交換編號
}
for ( i=0;iN;i+=2 ) printf(“%d-%d\n”,a[i],a[i+1]); //輸出結果
}
在C語言中如何將兩個數進行互換
將兩個數進行互換的方法有兩種形式:
1、藉助中間變量完成,此方法直觀,易理解,使用最多
2、不需要中間變量,通過變量身的運算完成交換。
參考代碼:
方法1:
int a=2,b=3,t;
t=a; //先將a存儲到臨時變量t中
a=b; //將b存儲到a中
b=t; //將臨時變量中的原a值存儲到b中
printf(“a=%d b=%d\n”, a,b );
方法2:
int a=2,b=3,t;
a += b ; //把兩數之和存到a中
b= a-b ; //用兩數和減去b可得原a,存儲到b中
a= a-b ; //因為b現在是原a值,所以,用兩數和減去b(原a)可得 原b,存儲到a中
此方法,還可以用異或運算來實現,原理相同。
C語言–8人互送禮物有多少種送法?
本來就是用數學方法的,叫錯排公式,是一個遞推的公式
基本形式:d[1]=0; d[2]=1
遞歸式:d[n]= (n-1)*( d[n-1] + d[n-2])
想用C語言完成一個程序作為媽媽的生日禮物,想知道我應該怎麼進行?
學完c後就去學win32 api吧,因為你要安裝完後到時間才執行,最好寫個hook,這樣比較簡單點,定點執行程序還有很多方法的,修改註冊表,或者windows里有個任務計劃,自己搞就可以了,api學完就差不多可以寫出來了,要播放音樂的話記得api里有函數吧,沒用過,可以用ffmpeg庫,網上有
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/282765.html