用C語言實現紅包發放隨機搶紅包的功能,這主要是一個隨機數的應用與控制。程序運行截圖如圖下:
代碼如下:
#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歡迎使用紅包分發系統/n/n/n"); printf("請輸入紅包的總額:/n"); scanf("%f",&total); int num;//發出去num個紅包 printf("請輸入紅包的個數:(1~20之間)/n"); scanf("%d",&num); float min=0.01;//最小金額0.01元 /*float max=0;//最大金額,金額未確定,先初始化為0 ===作業*/ int i=0,j; float t;//平均值 float MAX=0; float safe_total=0;//跳躍值 float sum=0;//累計每次領取的紅包金額 srand(time(NULL));//隨機種子,與rand是對配對的 每次執行的結果都不一樣 for(i=1;i<num;i++)//循環領取紅包 從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];//發出去的剩下紅包金額 sum+=a[i]; //領取的紅包金額 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;}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答