① 求c語言/c++大神編寫發紅包問題
完整代碼如下:
#include<stdio.h>
voidmain()
{
intmoney;
intmoney1,money2,money5,money10,money20,money50,money100;
printf("請輸入金額:");
scanf("%d",&money);
money100=money/100;
money=money%100;
money50=money/50;
money=money%50;
money20=money/20;
money=money%20;
money10=money/10;
money=money%10;
money5=money/5;
money=money%5;
money2=money/2;
money1=money%2;
printf("100元:%d張 ",money100);
printf("50元:%d張 ",money50);
printf("20元:%d張 ",money20);
printf("10元:%d張 ",money10);
printf("5元:%d張 ",money5);
printf("2元:%d張 ",money2);
printf("1元:%d張 ",money1);
}
運行結果如下圖:
這時我們再編譯、鏈接、執行一下:i = 10, j = 3i=、,、空格和j=全都原樣輸出了。此外需要注意的是:「輸出控制符」和「輸出參數」無論在「順序上」還是在「個數上」一定要一一對應。
4) printf("輸出控制符 非輸出控制符",輸出參數);
這實際上就是上面那個例子。這時候會有一個問題:到底什麼是「輸出控制符」,什麼是「非輸出控制符」?很簡單,凡是以%開頭的基本上都是輸出控制符。
② C語言編程:求一段發紅包的代碼。(隨機數,能規定紅包總錢數總人數,每個人拿到的錢不為0)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intmain(void)
{
floattotal;
printf("輸入總錢數: ");
scanf("%f",&total);
intnum;
printf("輸入紅包數量: ");
scanf("%d",&num);
floatmin=0.01;
floatsafe_total;
floatmoney;
inti;
srand((unsigned)time(NULL));
for(i=1;i<num;i++){
safe_total=(total-(num-i)*min)/(num-1);
money=(float)(rand()%((int)(safe_total*100)))/100+min;
total=total-money;
printf("紅包%2d:%.2f元,余額:%.2f元 ",i,money,total);
}
printf("紅包%2d:%.2f元,余額:0.00元 ",num,total);
return0;
}
③ C語言的這個問題!
我想試一試,但願你這不是作業題。
終於有時間來寫一個程序了。
程序中的注釋是中文的,在TC2.0環境下是亂碼,這個你要注意。
#include<stdio.h>
#include<string.h>
char name[10][14]; /*最多10人,每人名字最多14個字元*/
/*查找串在數組name中的位置*/
int index(char *p)
{
int k=0;
while(k<10&&strcmp(p,name[k]))
k++;
return k;
}
int main()
{
int people=1; /*有多少人?至少2人*/
char name_tmp[14];
int balance[10]; /*每個人的收支帳戶*/
int i,j;
int children=0,money=0;
/*輸入人數,並保證輸入人數合法*/
printf("How many people?");
while(people<2||people>10)
scanf("%d",&people);
/*輸入人的名字,並初始化他們的帳戶*/
puts("Who are they?");
for(i=0;i<people;i++)
{
scanf("%s",name[i]);
balance[i]=0;
}
for(i=0;i<people;i++)
{
/*為了使輸入的簡單化,這兒沒讓用戶輸入名字,而是順次輸出人名*/
puts(name[i]);
/*提示輸入錢數,和小孩數*/
printf("Input money and number of children:");
scanf("%d%d",&money,&children);
if(children>0) /*如果小孩的人數不為0*/
{
balance[i]+=0-(money-money%children); /*計算這人付出了多少錢*/
puts("Who are they?"); /*提示輸入這些錢分給哪些人*/
for(j=0;j<children;j++)
{
scanf("%s",name_tmp);
balance[index(name_tmp)]+=(children==0?0:money/children); /*修改得到錢的人的帳戶 */
}
}
}
/*輸出人名和差額*/
for(i=0;i<people;i++)
printf("%s %d\n",name[i],balance[i]);
return 0;
}
④ 模擬一個微信搶紅包的演算法,錢數為x,人數為y,用隨機數顯示出每個紅包的金額,c語言題目
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
doubleRandom(){return(rand()%1000)*0.001;}
doubleRandom(doubleaver)
{
doubleret=0;
for(inti=0;i<2;++i)ret+=Random();
return(aver*ret);
}
intmain(intargv,int**argc)
{
doublex,v;
inty,i;
doubleaver,min;
srand(time(NULL));
printf("請輸入金額:");
scanf("%lf",&x);
printf("請輸人數:");
scanf("%d",&y);
aver=x/y;
min=0.01*y;
for(i=0;i<y-1&&x>min;++i)
{
v=Random(aver);
while(v>x)v=Random(aver);
printf("%.2f ",v);
x-=v;
min-=0.01;
}
for(i=0;i>y-1;++i)
{
printf("%.2f ",0.01);
x-=0.01;
}
printf("%.2f ",x);
return0;
}
⑤ C語言紅包代碼
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
inti,n;
floata[100],all;
srand(time(NULL));
printf("請輸入紅包金額:");
scanf("%f",&all);
printf("請輸入紅包個數:");
scanf("%d",&n);
srand((unsigned)time(0));
for(i=1;i<n;i)
{
a[i]=(float)rand()/RAND_MAX*all;
if(a[i]>0)
{
all-=a[i];
printf("%f
",a[i]);
i++;
}
}
printf("%f
",all);
}
⑥ c語言成績排序,做完微信紅包
#include"stdio.h"
#include<stdlib.h>
#include<string.h>
#include"time.h"
structabcd{
charID[11],name[17];
ints1,s2,s3,s4,s5;
doubleave;
structabcd*next;
};
voidinp(structabcd(*p)[45]){
inti,j,k,t;
charid[11]="0000000000";
for(i=0;i<4;i++){
for(j=0;j<45;j++){
if(++id[9]>'9')
for(k=9;k>0;k--)
id[k]-=10,id[k-1]++;
strcpy(p[i][j].ID,id);
for(t=0,k=rand()%16;k;k--)
p[i][j].name[t++]=rand()%26+'A';
p[i][j].name[t]='