用C語言實現(xiàn)紅包發(fā)放隨機搶紅包的功能,這主要是一個隨機數(shù)的應(yīng)用與控制。程序運行截圖如圖下:
代碼如下:
#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ system("color A");while(1) { float a[25];//保存10個紅包金額 ==a[0]不要了,為了顯示第幾個紅包 float total;//總金額 printf("/t/t/t歡迎使用紅包分發(fā)系統(tǒng)/n/n/n"); printf("請輸入紅包的總額:/n"); scanf("%f",&total); int num;//發(fā)出去num個紅包 printf("請輸入紅包的個數(shù):(1~20之間)/n"); scanf("%d",&num); float min=0.01;//最小金額0.01元 /*float max=0;//最大金額,金額未確定,先初始化為0 ===作業(yè)*/ int i=0,j; float t;//平均值 float MAX=0; float safe_total=0;//跳躍值 float sum=0;//累計每次領(lǐng)取的紅包金額 srand(time(NULL));//隨機種子,與rand是對配對的 每次執(zhí)行的結(jié)果都不一樣 for(i=1;i<num;i++)//循環(huán)領(lǐng)取紅包 從1-9,共9份 { t=total/(num-i+1); //平均值 全是10元 safe_total=t*2;//獲取跳躍值 20.00元 a[i]=(rand()%(int)(safe_total*100)+(int)min*100)/100.0+min;//10.5 total-=a[i];//發(fā)出去的剩下紅包金額 sum+=a[i]; //領(lǐng)取的紅包金額 printf("/t/t第%d個紅包有%0.2f元/n",i,a[i]); if(a[i]>MAX) { MAX=a[i]; j=i; } } a[i]=total; printf("/t/t第%d個紅包有%0.2f元/n/n/n/n",i,a[i]); if(total>MAX) { printf("/t/t第%d個同學是運氣王,搶到了0.2f元的金額/n/n/n",num,total); } else { printf("/t/t第%d個同學是運氣王,搶到了%0.2f元的金額/n/n/n",j,MAX); } system("pause"); system("cls"); }return 0;}以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答