C語言實現(xiàn)搶紅包程序代碼精簡版
本文實例為大家分享了C語言實現(xiàn)搶紅包程序的具體代碼,供大家參考,具體內(nèi)容如下
其實這是段相當簡單的代碼,至于為什么還要把它放在博客上呢,主要是針對那些剛?cè)腴T學編程的同學(或者是對程序感興趣的同學),一個比較直觀的程序(小游戲)或許更能培養(yǎng)他們的興趣,或是說更能使他們對編程滿懷熱情。首先我自己也是從那個階段過來的,對于老師上課講得知識很迷茫,不知道熟悉一些運算符,語句,結(jié)構(gòu)有什么用,該怎么用,于是自己摸索著找了幾個實例練練手,在練習的過程就逐步掌握了老師講的知識,自己對編程也更感興趣了。下面將給大家一個精簡版的搶紅包的程序,自己拿著去運行一下吧。
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<ctype.h>
這是程序的頭文件,我想這不用我多說大家都應(yīng)該知道了;
int hongbao() { int num=100; float total=100; float a[101]; float min=0.01; int i; float t; float safe_total=0; float sum=0; srand(time(0)); for(i=1;i<num;i++) { t=total/(num-i+1); safe_total=t*2; a[i]=(rand()%(int)(safe_total*total)+(int)min*total)/total+min; total=total-a[i]; printf("第%d個紅包有%0.2f元\n",i,a[i]); } a[i]=total; printf("第%d個紅包有%0.2f元\n\n你領(lǐng)取的總金額%0.2f元\n",i,a[i],sum+a[i]); return 0; }
這就是搶紅包的整個程序,我把他定義為一個函數(shù),是為了讓游戲更加的有趣(在主函數(shù)里調(diào)用可以自己設(shè)置循環(huán))。在段代碼里我默認設(shè)置了100塊錢,100紅包,然后自己搶,每個紅包的金額是隨機分配的,這里用了一維數(shù)組來存放;遍歷輸出這些語句是不計較簡單的不做贅述。
int main() { loop1: hongbao(); printf("\n\n"); while(1) { printf("是否繼續(xù)搶紅包(Y\\N)\n"); int a; scanf("%c",&a); getchar(); a=toupper(a); if(a=='Y') { goto loop1; } else if(a=='N') { printf("Congratulation?。?!"); break; } else { printf("your input is wrong!please input again\n\n"); continue; } } return0; }
主函數(shù)就很簡單明了了,就是調(diào)用hongbao()這個函數(shù),至于這里有while循環(huán),在上面提過,為了測試游戲的時候開業(yè)只有選擇是否繼續(xù)。其他的就是一些打印語句,這些很容易理解。在這里使用了goto語句完全是為了方便,因為這個程序的循環(huán)并不復雜,為了簡單直觀就這樣操作了。(說實話這是我好久之前的代碼)
不厭其煩的把整個代碼在貼一遍吧
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<ctype.h> int hongbao() { int num=100; float total=100; float a[101]; float min=0.01; int i; float t; float safe_total=0; float sum=0; srand(time(0)); for(i=1;i<num;i++) { t=total/(num-i+1); safe_total=t*2; a[i]=(rand()%(int)(safe_total*total)+(int)min*total)/total+min; total=total-a[i]; printf("第%d個紅包有%0.2f元\n",i,a[i]); } a[i]=total; printf("第%d個紅包有%0.2f元\n\n你領(lǐng)取的總金額%0.2f元\n",i,a[i],sum+a[i]); return 0; } int main() { loop1: hongbao(); printf("\n\n"); while(1) { printf("是否繼續(xù)搶紅包(Y\\N)\n"); int a; scanf("%c",&a); getchar(); a=toupper(a); if(a=='Y') { goto loop1; } else if(a=='N') { printf("Congratulation?。。?); break; } else { printf("your input is wrong!please input again\n\n"); continue; } } return0; }
以上就是一個精簡版的搶紅包代碼,希望能夠?qū)δ阌兴鶐椭?/p>
其實編程是一個非常有趣的事,你可以根據(jù)一段簡單的代碼,自己不斷加上一些東西,不斷的去完善它,在這個過程你就會慢慢的進步,如俗話所說從小事做起,日積月累,慢慢的你就會發(fā)現(xiàn)自己完成了一件很大的工作。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++的類型轉(zhuǎn)換(強轉(zhuǎn))你了解嗎
這篇文章主要為大家詳細介紹了C++的類型轉(zhuǎn)換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02C++實現(xiàn)插入排序?qū)φ麛?shù)數(shù)組排序
這篇文章主要為大家詳細介紹了C++實現(xiàn)插入排序?qū)φ麛?shù)數(shù)組排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05C語言獲取Shell返回結(jié)果的實現(xiàn)方法
下面小編就為大家?guī)硪黄狢語言獲取Shell返回結(jié)果的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07C++實現(xiàn)LeetCode(160.求兩個鏈表的交點)
這篇文章主要介紹了C++實現(xiàn)LeetCode(160.求兩個鏈表的交點),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07