C語言實(shí)現(xiàn)搶紅包程序代碼精簡版
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)搶紅包程序的具體代碼,供大家參考,具體內(nèi)容如下
其實(shí)這是段相當(dāng)簡單的代碼,至于為什么還要把它放在博客上呢,主要是針對那些剛?cè)腴T學(xué)編程的同學(xué)(或者是對程序感興趣的同學(xué)),一個(gè)比較直觀的程序(小游戲)或許更能培養(yǎng)他們的興趣,或是說更能使他們對編程滿懷熱情。首先我自己也是從那個(gè)階段過來的,對于老師上課講得知識(shí)很迷茫,不知道熟悉一些運(yùn)算符,語句,結(jié)構(gòu)有什么用,該怎么用,于是自己摸索著找了幾個(gè)實(shí)例練練手,在練習(xí)的過程就逐步掌握了老師講的知識(shí),自己對編程也更感興趣了。下面將給大家一個(gè)精簡版的搶紅包的程序,自己拿著去運(yùn)行一下吧。
#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個(gè)紅包有%0.2f元\n",i,a[i]);
}
a[i]=total;
printf("第%d個(gè)紅包有%0.2f元\n\n你領(lǐng)取的總金額%0.2f元\n",i,a[i],sum+a[i]);
return 0;
}
這就是搶紅包的整個(gè)程序,我把他定義為一個(gè)函數(shù),是為了讓游戲更加的有趣(在主函數(shù)里調(diào)用可以自己設(shè)置循環(huán))。在段代碼里我默認(rèn)設(shè)置了100塊錢,100紅包,然后自己搶,每個(gè)紅包的金額是隨機(jī)分配的,這里用了一維數(shù)組來存放;遍歷輸出這些語句是不計(jì)較簡單的不做贅述。
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()這個(gè)函數(shù),至于這里有while循環(huán),在上面提過,為了測試游戲的時(shí)候開業(yè)只有選擇是否繼續(xù)。其他的就是一些打印語句,這些很容易理解。在這里使用了goto語句完全是為了方便,因?yàn)檫@個(gè)程序的循環(huán)并不復(fù)雜,為了簡單直觀就這樣操作了。(說實(shí)話這是我好久之前的代碼)
不厭其煩的把整個(gè)代碼在貼一遍吧
#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個(gè)紅包有%0.2f元\n",i,a[i]);
}
a[i]=total;
printf("第%d個(gè)紅包有%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;
}
以上就是一個(gè)精簡版的搶紅包代碼,希望能夠?qū)δ阌兴鶐椭?/p>
其實(shí)編程是一個(gè)非常有趣的事,你可以根據(jù)一段簡單的代碼,自己不斷加上一些東西,不斷的去完善它,在這個(gè)過程你就會(huì)慢慢的進(jìn)步,如俗話所說從小事做起,日積月累,慢慢的你就會(huì)發(fā)現(xiàn)自己完成了一件很大的工作。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器c/c++代碼
語音相關(guān)的好多項(xiàng)目要在linux上跑,但代碼開發(fā)大多是在PC機(jī)上,本篇簡單介紹一下怎么在個(gè)人電腦上用VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器上的c/c++代碼。感興趣的朋友跟隨小編一起看看吧2020-04-04
C語言小項(xiàng)目實(shí)戰(zhàn)之通訊錄功能
這篇文章主要介紹了如何設(shè)計(jì)和實(shí)現(xiàn)一個(gè)簡單的通訊錄管理系統(tǒng),包括聯(lián)系人信息的存儲(chǔ)、增加、刪除、查找、修改和排序等功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
如何用C寫一個(gè)web服務(wù)器之I/O多路復(fù)用

